Wie kann ich den Antwortheader und -text in Apache protokollieren?

Wie kann ich den Antwortheader und -text in Apache protokollieren?

Ich muss feststellen, ob der Server (Apache 2) den vollständigen Inhalt einer Seite zusammen mit dem korrekten Header zurückgibt oder nicht. Ich habe ein PHP-Skript, das erfolgreich ausgeführt wird, aber der Browser erhält nur die Hälfte des HTML-Inhalts, er wird einfach abgeschnitten.

Die Client-Infrastruktur ist ziemlich kompliziert und verwendet Novell BorderManager-Proxys und ähnliches. Um sicherzustellen, dass der Server seine Arbeit einwandfrei erledigt, möchte ich sowohl den Header als auch den Text der Antwort protokollieren.

Wie kann ich das erreichen? Ich habe mir das Modul von Apache angesehen mod_log_config(das bereits installiert und einsatzbereit ist), aber ehrlich gesagt habe ich es nicht ganz geschafft, es so zu konfigurieren, dass Header und Body irgendwo ausgegeben werden.

edit: Ich habe es geschafft, den Header mit zu protokollieren

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{HEADER_NAME}o\"" common2

CustomLog /var/log/apache2/response.log common2

Aber leidermod_log_config-Formateunterstützt nicht den gesamten Inhaltstext.

Update: Ich bin übermod_dumpiodas scheint genau das zu tun, aber ich bekomme es bisher nicht zum Laufen :-(

Kann jemand helfen?

Antwort1

Dies können Sie tun übermod_sicherheit, siehe die Dokumentation zuAudit-LogDatei Format.

Antwort2

falls Sie bei Verwendung von " keine Antwort in Ihren Protokollen erhaltenBeabsichtigter Antworttext (E)"; z.B.:

SecAuditLogParts ABCEFHZ

Stellen Sie sicher, dass Sie auch die Regel-Engine aktiviert haben:

SecRuleEngine On

und überprüfen Sie Ihre Einstellungen für:

SecRequestBodyAccess On
SecResponseBodyAccess On

Antwort3

Wenn Sie nur an der Kopfzeile interessiert sind, können Sie die %{VARNAME}oVariable verwenden.

Sehen:https://httpd.apache.org/docs/current/mod/mod_log_config.html#page-headerfür die Dokumentation.

verwandte Informationen