Como posso registrar o cabeçalho e o corpo da resposta no apache?

12

Preciso determinar se o servidor (Apache 2) está retornando o conteúdo completo de uma página junto com o cabeçalho correto ou não. Eu tenho um script PHP que é executado com sucesso, mas o navegador está recebendo apenas metade do conteúdo html, é simplesmente cortado.

A infraestrutura do cliente é bastante complicada, usando o Novell BorderManager Proxys e outras coisas. Para garantir que o servidor esteja funcionando bem, quero registrar o cabeçalho e o corpo da resposta.

Como posso conseguir isso? Eu olhei para o mod_log_configmódulo do apache (que já está instalado e pronto para ser usado), mas sinceramente não consegui configurá-lo para gerar o cabeçalho e o corpo em algum lugar.

edit: eu consegui registrar o cabeçalho com

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

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

Infelizmente, os formatos mod_log_config não suportam todo o corpo do conteúdo.

Atualização: Eu tropecei no mod_dumpio, que parece fazer exatamente isso, mas não consigo fazê-lo funcionar até agora :-(

Alguém pode ajudar?

acme
fonte

Respostas:

3

Você pode fazer isso via mod_security , consulte a documentação sobre o formato de dados do log de auditoria .

pesado
fonte
Obrigado, mas a documentação diz "Partes do log de auditoria disponíveis: [...] G - RESERVADO para o corpo de resposta real, ainda não implementado".
acme
Você pode usar Eou Iporque eu vinculei um documento antigo. O mais recente está aqui: modsecurity.org/documentation/modsecurity-apache/2.5.12/…
weeheavy
1
I adicionou isto httpd.conf: SecAuditEngine On SecAuditLog /var/log/apache2/sec.log SecAuditLogParts ABEFGHZ. Recebo algumas informações sobre depuração, por isso parece funcionar, mas o corpo da resposta não é mostrado.
Acme
o link original e o link mais recente para o documento foram quebrados, por isso coloquei um link para o mais recente.
icc97
4

caso você não encontre nenhum corpo de resposta em seus logs ao usar o " Intended Response Body (E) "; por exemplo.:

SecAuditLogParts ABCEFHZ

Verifique se você também ativou o mecanismo de regras:

SecRuleEngine On

e verifique suas configurações para:

SecRequestBodyAccess On
SecResponseBodyAccess On
Florian
fonte