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

12

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, es ist einfach abgeschnitten.

Die Client-Infrastruktur ist recht kompliziert, da Novell BorderManager-Proxys und ähnliches verwendet werden. Um sicherzustellen, dass der Server seine Arbeit gut macht, möchte ich sowohl den Header als auch den Body der Antwort protokollieren.

Wie kann ich das erreichen? Ich habe mir das mod_log_configApache-Modul angesehen (das bereits installiert und einsatzbereit ist), aber ehrlich gesagt konnte ich es nicht so konfigurieren, dass es irgendwo Header und Body ausgibt.

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

Leider unterstützen die Formate mod_log_config nicht den gesamten Inhalt.

Update: Ich bin über mod_dumpio gestolpert, was genau das zu tun scheint, aber ich kann es bisher nicht zum Laufen bringen :-(

Kann jemand helfen?

Gipfel
quelle

Antworten:

3

Sie können dies über mod_security tun , siehe Dokumentation zum Audit-Log -Datenformat.

weh
quelle
Vielen Dank, aber in der Dokumentation steht "Verfügbare Audit-Protokollteile: [...] G - RESERVIERT für den eigentlichen Antworttext, noch nicht implementiert."
21.12.10
Sie können Eoder verwenden, Iweil ich ein altes Dokument verlinkt habe. Neu
weeheavy
1
Ich fügte hinzu , dies zu httpd.conf: SecAuditEngine On SecAuditLog /var/log/apache2/sec.log SecAuditLogParts ABEFGHZ. Ich erhalte einige Debugging-Informationen, daher scheint es zu funktionieren, aber der Antworttext wird nicht angezeigt.
Acme
Sowohl der ursprüngliche Link als auch der neueste Link zum Dokument waren ungültig, daher habe ich einen Link zum neuesten eingefügt.
ICC97
4

falls Sie bei Verwendung von " Beabsichtigter Antworttext (E) " keinen Antworttext in Ihren Protokollen erhalten ; z.B.:

SecAuditLogParts ABCEFHZ

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

SecRuleEngine On

und überprüfe deine Einstellungen auf:

SecRequestBodyAccess On
SecResponseBodyAccess On
Florian
quelle