Назад | Перейти на главную страницу

502 «Ошибка чтения с удаленного сервера» при ошибках восходящего сервиса

У меня apache настроен как обратный прокси. Когда вышестоящая служба имеет ошибку (например, 500), ошибка не возвращается клиенту, а вместо этого apache выдает 502 «Ошибка чтения с удаленного сервера».

Я хочу, чтобы клиенту вернули исходную ошибку.

N.B. когда вышестоящая служба работает правильно (200 OK), apache возвращает ожидаемый ответ. 500 ответов замаскированы.

Вызов восходящей службы напрямую возвращает правильный ответ 500 и контент без проблем.

Вот что у нас есть сейчас:

ProxyPass "/path" "http://host:port/path"
ProxyPassReverse "/path" "http://host:port/path"

И ответ, когда сервис вернет 500

Bad Gateway!
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /path/to/resource.
Reason: Error reading from remote server
If you think this is a server error, please contact the webmaster.
Error 502
publichostname
Apache/2.4.6 (Linux/SUSE) 

Есть ли какое-то изменение конфигурации apache, которое позволит apache пересылать исходный ответ независимо от кода состояния?

Вам необходимо установить минимум 2.4.16.

Такое поведение было ошибкой в ​​используемой вами версии, исправлено в 2.4.13 (не выпущено).

*) mod_proxy: не переводить воркер в состояние ошибки для 500 или 503 ошибок, возвращаемых серверной частью, если не настроен failonstatus. PR 56925. [Янн Илавич]