我使用Apache作为在WebSphere上部署的Java Web应用程序的代理前端。 Web应用程序使用自定义状态代码(55x)向客户端发出特定错误信号。 当通过WebSphere HTTP侦听器直接访问Web应用程序时,一切都按预期工作,但是当这些请求通过Apache负载平衡器进行代理时,状态代码将由Apache进行修改,并replace为通用的500错误代码(内部服务器错误)。
在Apache的access.log中,logging了正确的状态码:
<IP> - - [11/Nov/2011:17:24:53 +0100] "POST <URL> HTTP/1.1" 551 36
但客户端收到的实际响应是这样开始的(用tcpdumplogging):
HTTP/1.1 500 Internal Server Error ...
其次是响应内容中的真实状态码:
... Error 551: Berichteter Fehler: 551 ...
这种行为是否有明显的原因,或者是否有人build议如何修改Apacheconfiguration以转发“真实”状态代码而不是500?