Nginxに詳しい方、もしお分かりになるようであればアドバイス頂けると助かります。
NginxでProxy_passを設定している環境で、バックエンド側のエラーをそのままクライアントに返却しNginx側ではなにも変更しない運用を行っています。
※こちらはProxy_passのデフォルトの動き
この状態を維持しつつ、Nginxの内部エラーが発生した際に、Nginxデフォルトのエラーページではなく
カスタムエラーページを指定したいと考えています。
Serverディレクティブに以下のようにエラードキュメントを記載すると、
Proxy_passで利用しているバックエンド側のエラーがNginxのカスタムエラーでうわがかれてしまいます。
#ErrorPage error_page 400 410 403 404 500 502 503 504 /error_503.html; location = /error_503.html { root /usr/nginx/error; return 444 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<html><head>\n<title>$status Error</title>\n</head><body>\n<h1>Error $status</h1>\n</body></html>"; internal; allow all; } location / { proxy_intercept_errors on; proxy_pass http://localhost; proxy_set_header Host $host; } }
バックエンドサーバーのエラーはそのままクライアントに返却し、Nginxデフォルトの各種エラーページは、カスタムエラーページとして指定できればと考えています。
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。