Skip to content

Repository files, collaboration, releases and project activity.

archforge-external-status / DOMAIN-SSL-DEBIAN-13.mdmain
▤ DOMAIN-SSL-DEBIAN-13.md4122 bytes

Domein en HTTPS instellen — Debian 13 (bestaande installatie)

De nieuwe wizard koppelt status.archforge.nl aan de tweede VPS en configureert Caddy om automatisch een Let's Encrypt- of ander publiek vertrouwd ACME-TLS-certificaat aan te vragen. Je hoeft geen certbot te installeren of handmatig certificaten te genereren. Caddy verzorgt automatische vernieuwing.

1. DNS bij je provider

Maak dit record aan (niet het IP van de hoofdwebsite):

Type Naam Waarde
A status Publiek IPv4-adres van VPS 2

Een AAAA-record gebruik je alleen als de tweede VPS bereikbaar is via dat IPv6-adres. Verwijder oude/verkeerde A- en AAAA-records. Bij proxyproviders (zoals Cloudflare) is DNS-only het eenvoudigst voor directe verificatie. Een proxied DNS-record geeft het proxy-IP terug en wordt door de wizard bewust geweigerd: hij kan dan de bestemming niet betrouwbaar verifiëren.

Open bij de VPS-provider én eventuele Debian-firewall TCP 80 en 443. Voor SSH blijft je bestaande SSH-poort bereikbaar. De Node.js-app hoort niet rechtstreeks publiek op poort 3000 te luisteren.

2. Eerst code in Git updaten

Plaats de bestanden van de 1.0.2-FULL-ZIP in de bestaande ArchForge Git-repository (geen .env/SQLite toevoegen), commit en push. Op VPS 2:

cd ~/archforge-external-status
git pull --ff-only
ls -l configure-domain.sh

Ben je root? git pull mag als root als deze bestaande checkout daadwerkelijk van root is, maar meng geen gebruikers of sudo in dezelfde checkout. De SSL-wizard vereist root-rechten. Je hoeft ./update.sh of ./install.sh niet opnieuw uit te voeren voor deze losse wizard.

3. Domain/SSL-wizard

sudo bash ./configure-domain.sh

Als je als root bent ingelogd, kan dit ook gewoon met bash ./configure-domain.sh. De wizard vraagt:

  1. Het statusdomein (bijv. status.archforge.nl).
  2. Het publieke IPv4-adres van VPS 2; dit moet overeenkomen met het DNS A-record.
  3. Optioneel het werkelijke publieke IPv6-adres van VPS 2; een bestaand verkeerd AAAA-record wordt geweigerd.
  4. Een optioneel e-mailadres voor ACME-certificaatmeldingen.
  5. Toestemming om waar nodig actieve UFW-regels voor TCP 80/443 open te zetten.
  6. ENABLE als expliciete bevestiging voor configuratiewijzigingen.

De wizard valideert DNS voordat Caddy of de app-configuratie wordt gewijzigd. Bij onjuiste DNS stopt hij met aanwijzingen. Hij bewaart de oude Caddyconfiguratie en status.env tijdelijk en herstelt die bij een Caddy-validatie- of servicefout.

Opmerking: als je op één VPS meerdere websites via Caddy host, controleer vóór aanpassing de bestaande /etc/caddy/Caddyfile en mogelijke dubbele domeinregistraties. Er wordt geen Caddyconfiguratie van andere websites doelbewust vervangen.

4. Controleer de echte SSL-uitgifte

systemctl status caddy --no-pager
systemctl status archforge-status --no-pager
curl -Iv https://status.archforge.nl
curl -fsS https://status.archforge.nl/healthz
journalctl -u caddy -n 80 --no-pager

De wizard rapporteert geverifieerde TLS alleen als een echte HTTPS-call via de lokale Caddy met een vertrouwd certificaat en werkend /healthz lukt. Als de uitgifte nog loopt, meldt hij NOT YET VERIFIED: dat is geen garantie dat TLS klaar is. Controleer DNS, poorten, firewall, Caddy-logs en probeer de test opnieuw.

Bij problemen met dig: apt-get install -y dnsutils. Bij een ontbrekende Caddy-installatie: apt-get install -y caddy. Een echte Debian 13 VPS is nodig om publiek ACME-certificaatbeheer te testen.

Wat blijft behouden?

  • /var/lib/archforge-status/status.db: SQLite, monitoringgeschiedenis, admin en 2FA.
  • /etc/archforge-status/status.env: alle bestaande geheimen en instellingen behalve STATUS_PUBLIC_URL.
  • /etc/archforge-status/msmtprc: SMTP-configuratie.
  • archforge.nl en zijn bestaande webproject: geen wijziging.

Let op

Een HTTPS-certificaat bewijst alleen dat het domein via TLS bereikbaar is. Het zegt niet dat de hoofdsite zelf online is; juist daarvoor draait de externe monitoring onafhankelijk.