Come posso registrare l'intestazione e il corpo della risposta in apache?


12

Devo determinare se il server (Apache 2) sta restituendo il contenuto completo di una pagina con l'intestazione corretta o meno. Ho uno script PHP che viene eseguito con successo, ma il browser sta ottenendo solo la metà del contenuto HTML, è semplicemente tagliato.

L'infrastruttura client è piuttosto complicata, utilizzando Novell BorderManager Proxys e altro. Per assicurarsi che il server stia facendo bene il suo lavoro, voglio registrare sia l'intestazione che il corpo della risposta.

Come posso raggiungere questo obiettivo? Ho esaminato il mod_log_configmodulo di apache (che è già installato e pronto per essere utilizzato), ma onestamente non sono riuscito a configurarlo per produrre header e body da qualche parte.

modifica: sono riuscito a registrare l'intestazione con

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

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

Ma sfortunatamente i formati mod_log_config non supportano l'intero contenuto.

Aggiornamento: sono incappato in mod_dumpio che sembra fare esattamente questo, ma non riesco a farlo funzionare finora :-(

Qualcuno può aiutare?

Risposte:


3

È possibile farlo tramite mod_security , consultare la documentazione relativa al formato dei dati del registro di controllo .


Grazie, ma la documentazione dice "Parti del registro di controllo disponibili: [...] G - RISERVATO per l'organismo di risposta effettivo, non ancora implementato."
— acme

Puoi usare Eo Iperché ho collegato un vecchio documento. Il più nuovo è qui: modsecurity.org/documentation/modsecurity-apache/2.5.12/…
— weeheavy

1
Ho aggiunto questo a httpd.conf: SecAuditEngine On SecAuditLog /var/log/apache2/sec.log SecAuditLogParts ABEFGHZ. Ottengo alcune informazioni di debug, quindi sembra funzionare, ma il corpo della risposta non viene mostrato.
— acme

sia il collegamento originale che l'ultimo collegamento al documento sono stati interrotti, quindi ho inserito un collegamento all'ultimo.
— icc97,

4

nel caso in cui non si ottenga alcun corpo di risposta nei propri registri quando si utilizza " Corpo di risposta previsto (E) "; per esempio.:

SecAuditLogParts ABCEFHZ

Assicurati di aver attivato anche il motore delle regole:

SecRuleEngine On

e controlla le tue impostazioni per:

SecRequestBodyAccess On
SecResponseBodyAccess On
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.