CallMeTechie
EN Anmelden
Home Produkte Blog Über mich Kontakt

Force HTTPS mit Let's Encrypt

🚀 Installation & Setup · Updated vor 1 Monat

Einrichtung

Über die UI

Der Toggle sitzt im Route-Wizard in Step 2 — Transport.

  1. Route erstellen oder bearbeiten
  2. In Step 2 Force HTTPS Toggle aktivieren (Default: an)
  3. Speichern

Es gibt keine weitere Konfiguration — Caddy erledigt alles automatisch. Siehe auch den Hinweis oben: der Toggle hat auf dem aktuellen Stand keine schaltende Wirkung.

Über die API

# HTTPS aktivieren
curl -X PUT https://gatecontrol.example.com/api/v1/routes/1 \
  -H "Authorization: Bearer gc_..." \
  -H "Content-Type: application/json" \
  -d '{
    "https_enabled": true
  }'

ACME Email konfigurieren

Die ACME Email wird global in den GateControl-Einstellungen oder per Umgebungsvariable gesetzt:

# In docker-compose.yml oder .env
GC_CADDY_EMAIL=admin@example.com

# Optionale alternative ACME CA (z.B. Staging)
GC_CADDY_ACME_CA=https://acme-staging-v02.api.letsencrypt.org/directory

Wichtige Hinweise

  • DNS muss korrekt zeigen. Die Domain muss per A/AAAA-Record auf die öffentliche IP des GateControl-Servers zeigen. Ohne korrekte DNS-Auflösung schlägt die ACME Challenge fehl.
  • Ports 80 und 443 müssen offen sein. Let's Encrypt nutzt Port 80 für die HTTP-01 Challenge. Port 443 wird für HTTPS benötigt. Beide Ports müssen von außen erreichbar sein.
  • Kein Cloudflare Proxy. Wenn die Domain hinter Cloudflare Proxy (orangene Wolke) steht, schlägt die HTTP-01 Challenge fehl. Verwende DNS Only (graue Wolke) oder wechsle zu DNS-01 Challenge (nicht von GateControl unterstützt).
  • Rate Limits beachten. Let's Encrypt hat Rate Limits: max 50 Zertifikate pro registrierter Domain pro Woche. Bei vielen Subdomains kann das relevant werden.
  • Zertifikate werden in Caddys Datenspeicher abgelegt (/data/caddy/) und überleben Container-Neustarts.
  • Wenn Force HTTPS in der UI deaktiviert wird, bleibt die Route trotzdem auf :443 erreichbar und Caddy versucht weiter, ein Zertifikat zu holen (siehe Implementation-Hinweis oben). Soll eine Route wirklich nur über HTTP erreichbar sein, muss das auf Infrastruktur-Ebene (Reverse-Proxy-Konfiguration / Firewall) erzwungen werden.

Troubleshooting

Problem Ursache Lösung
Zertifikat wird nicht ausgestellt DNS zeigt nicht auf Server A-Record prüfen, dig oder nslookup verwenden
ACME Challenge fehlgeschlagen Port 80 blockiert Firewall / Router prüfen, Port 80 freigeben
Too many certificates Let's Encrypt Rate Limit 1 Stunde warten, dann erneut versuchen
Zertifikat abgelaufen Caddy konnte nicht erneuern Caddy Logs prüfen, DNS und Port 80 prüfen

Siehe auch

Cookie Settings

Wir verwenden Cookies, um Ihre Erfahrung zu verbessern. Essentielle Cookies sind immer aktiv.

Datenschutzerklärung
ESC
↑↓ navigate open esc close