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.