Apache 代理正在修改 HTTP 状态代码

Apache 代理正在修改 HTTP 状态代码

我正在使用 Apache 作为 Java Web 应用程序的代理前端,该应用程序部署在 WebSphere 上。Web 应用程序使用自定义状态代码 (55x) 向客户端发出特定错误信号。当直接通过 WebSphere HTTP 侦听器访问 Web 应用程序时,一切都按预期工作,但是当这些请求通过 Apache 负载平衡器代理时,状态代码会被 Apache 修改并替换为通用 500 错误代码(内部服务器错误)。

在 Apache 的 access.log 中,记录了正确的状态代码:

<IP> - - [11/Nov/2011:17:24:53 +0100] "POST <URL> HTTP/1.1" 551 36

但客户端收到的实际响应是这样开始的(使用 tcpdump 记录):

HTTP/1.1 500 Internal Server Error
...

接下来是响应内容中真正的状态码:

... Error 551: Berichteter Fehler: 551 ...

这种行为是否有明显的原因,或者是否有人对如何修改 Apache 配置以转发“真实”状态代码而不是 500 提出建议?

相关内容