Cross-Origin Headers für Caddy

COOP, CORP und optional COEP auf Caddy einrichten — mit der header-Direktive im Caddyfile. Minimale Konfiguration, automatisches HTTPS inklusive.

Caddy · Schritt für Schritt

Cross-Origin Headers auf Caddy

Caddy ist der modernste Webserver und bietet die einfachste Konfiguration für Cross-Origin Headers: Die header-Direktive im Caddyfile setzt Header mit einer Zeile pro Header — ohne Module, ohne Wrapper, ohne zusätzliche Konfiguration. Caddy liefert automatisches HTTPS über Let's Encrypt und native HTTP/3-Unterstützung.

Diese Anleitung zeigt die Implementierung in drei Schritten: COOP und CORP als Basiskonfiguration, differenzierte Steuerung nach Pfad mit Caddy-Matchern und optional COEP für vollständige Cross-Origin Isolation. Caddy's header-Direktive macht die Konfiguration so einfach wie möglich. Cross-Origin Headers bringen 30 von 166 Punkten im Wolf-Agents Web Security Check.

1 Schritt 1 von 3

COOP und CORP im Caddyfile konfigurieren

Setzen Sie Cross-Origin-Opener-Policy und Cross-Origin-Resource-Policy mit der header-Direktive im Caddyfile. Zwei Zeilen genügen — Caddy kümmert sich automatisch um HTTPS und Zertifikate.

Caddyfile Basis-Konfiguration
# Caddyfile
ihre-domain.de {
    header Cross-Origin-Opener-Policy "same-origin"
    header Cross-Origin-Resource-Policy "same-origin"
}
Automatisches HTTPS

Caddy richtet automatisch HTTPS über Let's Encrypt ein. Cross-Origin Headers werden über HTTPS ausgeliefert — ohne manuelle Zertifikatskonfiguration. Das macht Caddy ideal für schnelle, sichere Deployments.

Header für alle Responses

Caddy's header-Direktive setzt Header standardmäßig für alle Responses — inklusive Fehlerseiten (404, 500). Kein always-Keyword wie bei Nginx nötig.

2 Schritt 2 von 3

CORP differenziert nach Pfad

Caddy-Matcher erlauben differenzierte Header-Konfiguration nach Pfad. So erhalten API-Endpunkte same-origin und öffentliche Assets cross-origin.

Caddyfile Differenziert
ihre-domain.de {
    # COOP für alle Seiten
    header Cross-Origin-Opener-Policy "same-origin"

    # CORP: Standard für alle
    header Cross-Origin-Resource-Policy "same-origin"

    # CORP: Öffentliche Assets
    header /assets/* Cross-Origin-Resource-Policy "cross-origin"

    # CORP: API geschützt
    header /api/* Cross-Origin-Resource-Policy "same-origin"
}

Caddy-Vorteile für Security Headers

Minimale Konfiguration

Zwei Zeilen pro Header. Kein Wrapper, kein Modul, keine Direktiven-Flags. Die einfachste Konfiguration aller Webserver.

Pfad-Matcher

Native Pfad-Matcher wie /api/* und /assets/* erlauben differenzierte CORP-Werte ohne komplexe Regex-Syntax.

Graceful Reload

caddy reload lädt die Konfiguration nahtlos — ohne aktive Verbindungen zu unterbrechen. Kein Syntax-Check nötig.

Caddy validiert die Konfiguration automatisch beim Laden. Syntaxfehler im Caddyfile verhindern den Start — so können keine fehlerhaften Header-Konfigurationen produktiv gehen.
3 Schritt 3 von 3

COEP optional aktivieren und testen

Für vollständige Cross-Origin Isolation fügen Sie Cross-Origin-Embedder-Policy als dritte Zeile hinzu. COEP erzwingt, dass alle eingebetteten Ressourcen CORP- oder CORS-Header senden.

COEP mit require-corp blockiert alle externen Ressourcen ohne CORP- oder CORS-Header — darunter Google Fonts, YouTube-Embeds, Google Maps und CDN-Bilder. Testen Sie gründlich, bevor Sie COEP aktivieren.
Terminal Verifizieren
# Caddy-Konfiguration neu laden
caddy reload

# Cross-Origin Header prüfen
curl -sI https://ihre-domain.de | grep -i cross-origin

# Erwartete Ausgabe:
# cross-origin-opener-policy: same-origin
# cross-origin-resource-policy: same-origin
Alternative: credentialless

Cross-Origin-Embedder-Policy: credentialless (Chrome 96+, Firefox 119+) ist weniger streng als require-corp und bricht seltener Drittanbieter-Ressourcen. Allerdings unterstützt Safari credentialless nicht.

Wie steht Ihre Domain bei Cross-Origin Headers?

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

Häufig gestellte Fragen

Setzt Caddy automatisch Cross-Origin Header?

Nein. Caddy setzt automatisch HTTPS (Let's Encrypt), HSTS und einige Security-Header, aber keine Cross-Origin Headers. COOP, CORP und COEP müssen Sie explizit im Caddyfile konfigurieren.

Kann ich CORP differenziert nach Pfad setzen?

Ja. Caddy unterstützt Matcher in der header-Direktive: header /api/* Cross-Origin-Resource-Policy "same-origin" für APIs und header /assets/* Cross-Origin-Resource-Policy "cross-origin" für öffentliche Assets. Path-Matcher sind ein Kernfeature von Caddy.

Muss ich Caddy nach Änderungen am Caddyfile neu starten?

Nein. Caddy unterstützt graceful reloads mit caddy reload. Die neue Konfiguration wird nahtlos geladen, ohne aktive Verbindungen zu unterbrechen. Caddy kann auch automatische Reloads bei Dateiänderungen durchführen.

Funktioniert die Konfiguration mit Caddy als Reverse Proxy?

Ja. Setzen Sie die Cross-Origin Header im Caddyfile des Reverse Proxy, nicht am Backend. Caddy fügt die Header hinzu, bevor die Response den Browser erreicht — unabhängig davon, ob das Backend die Header selbst setzt.

Warum ist Caddy ideal für Cross-Origin Headers?

Caddy bietet die einfachste Konfiguration aller Webserver: zwei Zeilen im Caddyfile genügen. Automatisches HTTPS, automatische Zertifikatserneuerung und native HTTP/3-Unterstützung machen Caddy zur modernen Alternative zu Nginx und Apache.

Brauche ich alle drei Cross-Origin Header?

Nein. Starten Sie mit COOP (same-origin) und CORP (same-origin). Diese sind risikoarm und bieten bereits Schutz vor Window-Manipulation und Ressourcen-Hotlinking. COEP nur hinzufügen, wenn Sie SharedArrayBuffer oder vollständige Cross-Origin Isolation benötigen.