O proxy do Apache está modificando o código de status HTTP

3

Estou usando o Apache como um frontend de proxy para um aplicativo da Web Java, que é implementado no WebSphere. O aplicativo da web está usando códigos de status personalizados (55x) para sinalizar erros específicos para os clientes. Ao acessar o aplicativo da web diretamente pelo listener do WebSphere HTTP, tudo funciona conforme esperado, mas quando essas solicitações são intermediadas por proxy por meio de um balanceador de carga Apache, os códigos de status são modificados pelo Apache e substituídos por um código de erro 500 genérico (erro interno do servidor).

No access.log do Apache, o código de status correto é registrado:

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

Mas a resposta real recebida pelo cliente começa assim (registrada com o tcpdump):

HTTP/1.1 500 Internal Server Error
...

Seguido pelo código de status real no conteúdo da resposta:

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

Existe uma razão óbvia para esse comportamento ou alguém tem uma sugestão sobre como modificar a configuração do Apache para encaminhar o código de status "real" em vez de 500?

    
por jarnbjo 11.11.2011 / 17:30

0 respostas