HSTS für Caddy konfigurieren

Die einfachste HSTS-Konfiguration: Eine Zeile im Caddyfile — Caddy kümmert sich um HTTPS, Sie setzen den HSTS-Header.

Caddy · Schritt für Schritt

HSTS in Caddy

Caddy ist für seine minimale Konfiguration und automatisches HTTPS bekannt — die einfachste Syntax aller Webserver. Zertifikate werden automatisch über Let's Encrypt bezogen und erneuert, HTTP-zu-HTTPS-Redirect ist standardmäßig aktiv. Was Caddy bewusst nicht automatisch setzt, ist der HSTS-Header — die Preload-Entscheidung überlässt Caddy dem Betreiber.

Die HSTS-Konfiguration in Caddy ist denkbar einfach: eine Zeile im Caddyfile genügt. Keine Module, keine Abhängigkeiten, kein Neustart — ein caddy reload reicht. HSTS bringt 15 von 166 Punkten im Wolf-Agents Web Security Check.

1 Schritt 1 von 3

HSTS-Header im Caddyfile setzen

Fügen Sie die header-Direktive in den Site-Block Ihres Caddyfiles ein. Caddy kümmert sich automatisch um HTTPS und den HTTP-zu-HTTPS-Redirect — Sie müssen nur den HSTS-Header ergänzen.

Caddyfile Produktiv
# Caddyfile
ihre-domain.de {
    header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
}
Caddy Auto-HTTPS

Caddy leitet HTTP automatisch auf HTTPS um und verwaltet Zertifikate via Let's Encrypt. Ein separater HTTP-Server-Block oder manueller Redirect ist nicht nötig — Caddy übernimmt das vollautomatisch.

2 Schritt 2 von 3

Konfiguration testen

Laden Sie die Konfiguration neu und prüfen Sie den HSTS-Header. Caddy validiert das Caddyfile automatisch — bei Syntaxfehlern wird die alte Konfiguration beibehalten.

Terminal Verifizieren
# 1. Konfiguration neu laden (kein Downtime)
caddy reload

# Oder als systemd-Service:
sudo systemctl reload caddy

# 2. HSTS-Header prüfen
curl -sI https://ihre-domain.de | grep -i strict

# Erwartete Ausgabe:
# Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Caddy validiert die Konfiguration beim Reload automatisch. Bei einem Syntaxfehler bleibt die alte Konfiguration aktiv — kein Risiko eines Ausfalls.
3 Schritt 3 von 3

HSTS Preload beantragen

Reichen Sie Ihre Domain auf hstspreload.org ein. Caddy kümmert sich automatisch um HTTPS und Zertifikatserneuerung — ein abgelaufenes Zertifikat (das häufigste Problem bei HSTS + Preload) ist mit Caddy praktisch ausgeschlossen.

Preload ist quasi-permanent. Auch wenn Caddy Zertifikate automatisch erneuert: Prüfen Sie, dass alle Subdomains HTTPS unterstützen, bevor Sie Preload beantragen.

Wie steht Ihre Domain bei HSTS?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.

Häufig gestellte Fragen

Setzt Caddy HSTS automatisch?

Nein. Caddy aktiviert zwar automatisch HTTPS mit Let's Encrypt und leitet HTTP auf HTTPS um, setzt aber bewusst keinen HSTS-Header. Die Caddy-Entwickler überlassen die Preload-Entscheidung dem Betreiber, da Preload quasi-permanent ist.

Brauche ich ein SSL-Zertifikat bei Caddy?

Caddy bezieht und erneuert SSL-Zertifikate automatisch über Let's Encrypt oder ZeroSSL. Sie müssen kein Zertifikat manuell installieren — geben Sie einfach Ihre Domain im Caddyfile an.

Wie lade ich die Caddy-Konfiguration neu?

Mit „caddy reload" (wenn Caddy als Service läuft) oder „systemctl reload caddy". Caddy lädt die Konfiguration ohne Unterbrechung aktiver Verbindungen neu — kein Downtime.

Kann ich HSTS nur für bestimmte Pfade setzen?

Technisch ja, mit route-Blöcken im Caddyfile. Für HSTS ist das aber nicht sinnvoll — der Browser speichert HSTS pro Domain. Setzen Sie den Header global für die gesamte Domain.

Funktioniert HSTS mit Caddy als Reverse Proxy?

Ja. Setzen Sie den HSTS-Header im Caddyfile der Reverse-Proxy-Konfiguration. Caddy terminiert HTTPS und setzt den Header, bevor die Response den Browser erreicht — unabhängig davon, ob das Backend den Header setzt.