如何在Apache中记录响应标头和正文?


12

我需要确定服务器(Apache 2)是否返回页面的完整内容及其正确的标头。我有一个可以成功执行的PHP脚本,但是浏览器仅获得一半的html内容,只是被截断了。

使用Novell BorderManager代理和内容,客户端基础结构非常复杂。为了确保服务器正常工作,我想记录响应的标头和正文。

我该如何实现?我查看mod_log_config了apache 的模块(已经安装并准备使用),但是说实话,我并没有设法将其配置为在某些地方输出标头和正文。

编辑:我设法用

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

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

但不幸的是,mod_log_config格式不支持整个内容主体。

更新:我在mod_dumpio上绊了一下,这似乎确实可以做到,但是到目前为止我无法正常工作:-(

有人可以帮忙吗?

Answers:


3

您可以通过mod_security进行此操作,请参阅有关审核日志数据格式的文档。


谢谢,但是文档说“可用的审核日志部分:[G –保留给实际的响应正文,尚未实现。”
acme 2010年

您可以使用EI因为我链接了旧文档。较新的是在这里:modsecurity.org/documentation/modsecurity-apache/2.5.12/...
weeheavy

1
我将此添加到httpd.conf:中SecAuditEngine On SecAuditLog /var/log/apache2/sec.log SecAuditLogParts ABEFGHZ。我得到了一些调试信息,因此似乎可以正常工作,但未显示响应正文。
acme 2010年

原始链接和指向该文档的最新链接均已损坏,因此我放置了指向最新链接的链接。
icc97 '16

4

如果使用“ 预期响应正文(E) ” 时在日志中没有得到任何响应正文;例如。:

SecAuditLogParts ABCEFHZ

确保您还激活了规则引擎:

SecRuleEngine On

并检查以下设置:

SecRequestBodyAccess On
SecResponseBodyAccess On
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.