我们有一个 Tomcat 服务器,我们试图在其中记录发送响应的 HTTP 版本。我们已经多次看到它似乎是 HTTP/0.9,它杀死了内容(我猜不支持?)。我们想通过使用 apache 中的访问日志来获得一些统计信息。但是,由于标题行没有任何前缀,我们不能使用 %{xxx}o 日志记录。
有办法得到这个吗?
一个例子:
响应是:
HTTP/1.1 503 This application is not currently available
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
Content-Length: 1090
Date: Wed, 12 May 2010 12:53:16 GMT
Connection: close
而且我们想要捕获HTTP/1.1(或者,HTTP/1.1 503 This application is not currently available。
这可能吗?我们无权访问正在提供服务的应用程序,因此我们需要作为 Java 过滤器或在 tomcat 访问日志中执行此操作 - 最好是在访问日志中。
最佳答案
启用 <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
在 server.xml 中写出每个请求的请求和响应 header 。
例子:
19-May-2010 12:26:18 org.apache.catalina.valves.RequestDumperValve invoke
INFO: protocol=HTTP/1.1
关于apache - 是否可以在 apache 中记录响应的第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2856981/