Alle Security Headers für Caddy konfigurieren

Caddyfile mit header-Direktiven: Die kürzeste Konfiguration aller Stacks. Automatisches HTTPS inklusive.

Caddy · Vollständige Konfiguration

Caddyfile mit allen Security Headern

Caddy setzt Security Headers über header-Direktiven im Caddyfile. Caddys Syntax ist die kürzeste aller Stacks — kein always wie bei nginx, kein IfModule wie bei Apache. Caddy aktiviert automatisch HTTPS mit Let's Encrypt für alle konfigurierten Domains, HSTS ist dennoch empfohlen für den Preload-Eintrag.

Ein weiterer Vorteil: Mit -Server und -X-Powered-By entfernt Caddy automatisch die Server-Signatur — eine Zeile weniger als bei nginx oder Apache.

Vollständige Konfiguration

Fügen Sie den header-Block in Ihr Caddyfile ein. Stellen mit ANPASSEN: müssen Sie an Ihre Domain anpassen.

Caddyfile 11 Header
# Caddyfile — Alle Security-Header zentral
# Generiert aus Wolf-Agents Web Security Guide, Kapitel 00-16

ihre-domain.de {
    header {
        # --- Kap 01: Content Security Policy ---
        # ANPASSEN: Ersetzen Sie die Domains durch Ihre eigenen
        Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self'; connect-src 'self'; object-src 'none'; worker-src 'self'; frame-ancestors 'self'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests; report-uri /csp-report; report-to csp-endpoint"

        # --- Kap 02: HTTP Strict Transport Security ---
        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

        # --- Kap 04: Permissions Policy ---
        Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), bluetooth=(), idle-detection=(), serial=(), browsing-topics=(), unload=()"

        # --- Kap 05: Clickjacking-Schutz ---
        X-Frame-Options "SAMEORIGIN"

        # --- Kap 06: Referrer Policy ---
        Referrer-Policy "strict-origin-when-cross-origin"

        # --- Kap 07: MIME-Sniffing-Schutz ---
        X-Content-Type-Options "nosniff"

        # --- Kap 08: Cross-Origin Isolation ---
        Cross-Origin-Resource-Policy "same-origin"
        Cross-Origin-Opener-Policy "same-origin"
        Cross-Origin-Embedder-Policy "credentialless"

        # --- Kap 14: Reporting Endpoints ---
        # ANPASSEN: Ersetzen Sie die URL durch Ihren Reporting-Endpoint
        Reporting-Endpoints `csp-endpoint="https://ihre-domain.de/csp-report"`

        # --- Kap 16: Origin Agent Cluster ---
        Origin-Agent-Cluster "?1"

        # Server-Signatur entfernen
        -Server
        -X-Powered-By
    }
}
Caddy HTTPS

Caddy aktiviert automatisch HTTPS mit Let's Encrypt für alle konfigurierten Domains. HSTS wird dennoch empfohlen für den Preload-Eintrag und als Signal an Browser, auch bei zukünftigen Domain-Migrationen.

Was jeder Header macht

HeaderSchutzKapitel
Content-Security-PolicyXSS-Angriffe verhindern — definiert erlaubte RessourcenKap. 01
Strict-Transport-SecurityHTTPS erzwingen — Downgrade-Angriffe verhindernKap. 02
Permissions-PolicyBrowser-APIs deaktivieren — Kamera, Mikrofon, etc.Kap. 04
X-Frame-OptionsClickjacking verhindern — Einbettung kontrollierenKap. 05
Referrer-PolicyURL-Leaks kontrollierenKap. 06
X-Content-Type-OptionsMIME-Sniffing verhindernKap. 07
CORP / COOP / COEPCross-Origin-IsolationKap. 08
Reporting-EndpointsViolation-Reports sendenKap. 14
Origin-Agent-ClusterProzess-IsolationKap. 16

Verifikation

Starten Sie Caddy neu und prüfen Sie die Header.

Terminal Prüfung
# Caddy-Konfiguration validieren und neu laden
caddy validate --config Caddyfile
caddy reload --config Caddyfile

# Alle Security Headers prüfen
curl -I https://ihre-domain.de 2>/dev/null | grep -iE \
  "content-security|strict-transport|x-frame|x-content-type|referrer-policy|permissions-policy|cross-origin|origin-agent|reporting-endpoints"

# Auf Duplikate prüfen
curl -I https://ihre-domain.de 2>/dev/null | sort | uniq -di

Wie steht Ihre Domain bei Security-Header-Architektur?

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