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