为了调试我的 webapp 在某些奇怪网络后面的行为,我需要转储所有发往 Apache2 服务器的 HTTP 请求(在标准 Ubuntu 上)。所以我尝试激活dump_io模块 :
a2enmod dump_io
并且我检查了模块是否已正确加载(重新加载后):
# apache2ctl -t -D DUMP_MODULES | grep dumpio
dumpio_module (shared)
<VirtualHost>
我在我的网站部分添加了以下内容:
LogLevel debug
DumpIOInput On
然后service apache2 restart
和tail -f /var/log/apache2/error.log
但什么都没有显示......
我尝试将指令放在全局级别(apache2.conf),将所有虚拟主机的 LogLevel 设置为调试(如建议的那样为什么我无法让 Apache2 mod_dumpio 在 Lucid Lynx Ubuntu 下运行?),但没有运气……
我得到的唯一与我的setInfo
请求相关的是以下行(在 error.log 中),如果我将日志级别设置为警告,它不会显示,但如果我不声明 DumpIOInput,它会显示事件。
[Tue Nov 06 00:21:13 2012] [debug] mod_deflate.c(615): [client 178.251.23.193] Zlib: Compressed 494 to 284 : URL /setInfo
那么,我下一步该怎么做?我很确定我的虚拟主机上有传入请求,因为我收到以下错误(这是我试图澄清和调试的错误):
[Tue Nov 06 09:24:42 2012] [error] [client 178.251.23.138] no acceptable variant: /path/api/setInfo
答案1
1> 要配置 mod_dumpio,您需要启用 dump_io。
$ sudo a2enmod dump_io
2> 在 apache2.conf 文件中写入以下行
LogLevel dumpio:trace7
DumpIOInput On
DumpIOOutput On
3)然后重新启动apache服务器