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.
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.
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.
# 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> 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.
sudo systemctl reload apache2 # oder .htaccess speichern — kein Neustart nötig 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.
# 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="..." 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.