nginxのauth_request
を使用して、わずか4リターンコードが受け入れられる:2xx
、401
、403
と500
を。これらを処理するには、error_page
を設定する必要があります。これはauth_request
では問題ありませんが、これらのコードを返すすべてのダウンストリームアプリは、同じerror_page
の処理を使用して終了します。nginxのauth_requestエラーが
例:
location /test {
auth_request /foo;
error_page 500 /its-broke.html;
proxy_pass http://bar;
}
auth_request
/foo
に戻る500
場合、その-broke.htmlが示されています。これは私が望むふるまいです。ただし、bar
が500
を返す場合は、its-broke.htmlも表示されます。私はこれを望んでいない。代わりに、私はbar
の500
エラー応答をブラウザに送信する必要があります。
auth_request
はどの5xx
をキャッチし、500
としてそれを扱うので、私はちょうどfoo
リターン520
を持つことができないだろう。それは、次のエラーが発生し、500
はとにかく返されます。
auth request unexpected status: 520 while sending to client
この周りを取得するための任意のアイデアを?プロキシのパスの前にerror_pageの設定を解除する方法が見つかりません。