web-dev-qa-db-ja.com

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
DJL

少なくとも2.4.16をインストールする必要があります。

この動作は、使用しているバージョンのバグであり、2.4.13で修正されました(リリースされていません)

*)mod_proxy:failonstatusが設定されていない限り、バックエンドから返される500または503エラーのワーカーをエラー状態にしないでください。 PR56925。[Yann Ylavic]

1
ezra-s