Reporting API für Apache konfigurieren

Report-To, NEL und Reporting-Endpoints auf Apache einrichten — mit mod_headers, korrektem JSON-Escaping in .htaccess und fertiger Konfiguration zum Kopieren.

Apache · Schritt für Schritt

Reporting API auf Apache

Apache setzt Report-To, NEL und Reporting-Endpoints über mod_headers — das Modul ist bei allen gängigen Hostern vorinstalliert. Die Konfiguration erfolgt entweder in der .htaccess-Datei (kein Root-Zugriff nötig) oder direkt im VirtualHost. Die Hauptherausforderung liegt im korrekten JSON-Escaping: In .htaccess müssen doppelte Anführungszeichen im JSON mit Backslash escaped werden. Prüfen Sie ob mod_headers aktiviert ist: a2enmod headers && systemctl restart apache2.

Die Reporting API bringt 4 von 166 Punkten im Wolf-Agents Web Security Check. Nach der Konfiguration: Scannen Sie Ihre Domain, um zu verifizieren, dass die Header korrekt gesetzt sind.

1 Schritt 1 von 2

Report-To, NEL und Reporting-Endpoints setzen

Fügen Sie alle drei Header in Ihren <IfModule mod_headers.c>-Block ein. Der Wrapper stellt sicher, dass Apache die Konfiguration ignoriert, falls mod_headers nicht geladen ist.

.htaccess oder httpd.conf Reporting
# Reporting API Header
<IfModule mod_headers.c>
    # Report-To (für NEL zwingend erforderlich)
    Header always set Report-To '{"group":"nel","max_age":31536000,"endpoints":[{"url":"https://reports.example.com/nel"}]}, {"group":"default","max_age":31536000,"endpoints":[{"url":"https://reports.example.com/default"}]}'

    # NEL aktivieren
    Header always set NEL '{"report_to":"nel","max_age":31536000,"include_subdomains":true,"failure_fraction":1.0,"success_fraction":0.01}'

    # Reporting-Endpoints für moderne Browser
    Header always set Reporting-Endpoints 'default="https://reports.example.com/default", csp="https://reports.example.com/csp"'
</IfModule>
JSON-Escaping in .htaccess

In der Hauptkonfiguration (httpd.conf) oder im VirtualHost verwenden Sie einfache Anführungszeichen um den JSON-Wert. In .htaccess-Dateien können je nach Apache-Version Backslash-Escaping für innere Anführungszeichen nötig sein. Testen Sie den Header immer mit curl -sI.

Änderung aktivieren:
sudo systemctl reload apache2  # oder .htaccess speichern — kein Neustart nötig
2 Schritt 2 von 2

Header verifizieren

Prüfen Sie, ob alle drei Header korrekt ausgeliefert werden. Achten Sie besonders auf valides JSON im Report-To- und NEL-Header — ein fehlerhaftes Anführungszeichen führt dazu, dass der Browser die Header ignoriert.

Terminal Verifizierung
# Alle Reporting-Header prüfen
curl -sI https://ihre-domain.de | grep -iE "report-to|nel|reporting-endpoints"

# Erwartete Ausgabe:
# Report-To: {"group":"nel",...}, {"group":"default",...}
# NEL: {"report_to":"nel",...}
# Reporting-Endpoints: default="...", csp="..."
Report-Endpoint

Apache selbst kann keine JSON-Reports verarbeiten. Nutzen Sie ein PHP-Script, ein Node.js-Backend oder einen externen Service wie Report URI als Reporting-Endpoint.

Wie steht Ihre Domain bei Reporting API?

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

Häufig gestellte Fragen

Wie escape ich JSON in Apache .htaccess korrekt?

In der Apache-Konfiguration (httpd.conf, VirtualHost) verwenden Sie einfache Anführungszeichen um den JSON-Wert. In .htaccess müssen Sie stattdessen doppelte Anführungszeichen um den gesamten Wert setzen und die inneren JSON-Anführungszeichen mit Backslash escapen: Header always set NEL "{\"report_to\":\"nel\"}". Testen Sie die Header nach dem Deployment mit curl -sI.

Brauche ich mod_headers für die Reporting API?

Ja. Die Reporting-Header werden über mod_headers gesetzt. Das Modul ist bei den meisten Hostern vorinstalliert. Der IfModule-Wrapper stellt sicher, dass Apache die Konfiguration ignoriert, wenn mod_headers nicht geladen ist — kein 500-Fehler.

Funktioniert die Reporting API auf Shared Hosting?

Ja, sofern mod_headers aktiviert ist. Sie können alle drei Header über .htaccess setzen. Für den Report-Endpoint benötigen Sie allerdings ein Backend (PHP, Node.js) oder einen externen Service wie Report URI.

Welche Browser unterstützen die Reporting API?

Report-To, NEL und Reporting-Endpoints werden ausschließlich von Chromium-basierten Browsern unterstützt — Chrome 70+, Edge 79+ und Opera. Firefox und Safari implementieren keinen dieser Header.

Kann ich mit Apache einen Report-Endpoint hosten?

Apache allein kann keine JSON-Reports verarbeiten. Sie benötigen ein Backend-Script (z.B. PHP) das die Reports empfängt, oder einen externen Reporting-Service. Ein einfaches PHP-Script kann Reports entgegennehmen und in eine Logdatei schreiben.