Я использую Apache в качестве прокси-интерфейса для веб-приложения Java, развернутого в WebSphere. Веб-приложение использует настраиваемые коды состояния (55x), чтобы сообщать клиентам об определенных ошибках. При доступе к веб-приложению напрямую через прослушиватель HTTP WebSphere все работает должным образом, но когда эти запросы передаются через балансировщик нагрузки Apache, коды состояния изменяются Apache и заменяются общим кодом ошибки 500 (внутренняя ошибка сервера).
В журнале доступа Apache регистрируется правильный код состояния:
<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?