如何在 apache 中记录响应头和响应主体?

如何在 apache 中记录响应头和响应主体?

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

客户端基础设施相当复杂,使用 Novell BorderManager Proxy 等。为了确保服务器正常工作,我想记录响应的标头和正文。

我怎样才能做到这一点?我研究了mod_log_configapache 的模块(已经安装并可以使用),但老实说,我没能成功配置它以在某处输出 header 和 body。

编辑:我设法记录了标题

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

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

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

更新:我偶然发现了mod_dumpio它似乎确实可以做到这一点,但到目前为止我还不能让它工作:-(

有人可以帮忙吗?

答案1

您可以通过以下方式进行mod_security,请参阅有关审计日志数据格式。

答案2

如果您在使用“时没有在日志中收到任何响应主体”预期响应主体 (E)";例如:

SecAuditLogParts ABCEFHZ

确保您已经激活了规则引擎:

SecRuleEngine On

并检查您的设置:

SecRequestBodyAccess On
SecResponseBodyAccess On

答案3

如果您只对标题感兴趣,那么您可以使用%{VARNAME}o变量。

看:https://httpd.apache.org/docs/current/mod/mod_log_config.html#page-header用于文档。

相关内容