我发现一个间歇性问题,即用户请求无法到达后端服务器,该服务器是 apache webserver 定向到 weblogic 的。我希望在重定向到 weblogic 之前查看 apache 中的请求值。如何查看 apache 中的用户请求值?
答案1
如果我正确理解了您的问题,您希望记录 Apache 收到的来自客户端的整个 http 请求。有多种方法可以解决此问题:
您可以使用类似这样的工具
tcpdump
来跟踪数据包,然后使用它strings
来提取数据包的文本内容。看起来就像这样:抓取数据包:
# tcpdump -w packets -s 1500 port 80 and host <client ip address>
显示结果:
# strings packets
这不是一个完美的方法(的输出
strings
会包含一些垃圾),但通常是一个好的开始。根据谷歌,Apache 的最新版本有mod_dumpio,它“允许将 Apache 收到的所有输入和/或 Apache 发送的所有输出记录(转储)到 error.log 文件中。”
我相信mod_security还可以记录完整的请求。
答案2
您可以使用:
- 嗅探器:
ngrep 'GET|POST' port 80
- 追踪者:
strace <apache_worker>
,ltrace <apache_worker>
- 配置 apache 日志来记录内容。尝试仅记录 GET。