web-dev-qa-db-ja.com

プロキシされたアプリサーバーがダウンしたときにNginxにHTTP503を返すようにするにはどうすればよいですか?

Jetty Java Webアプリケーションを実行しているアプリサーバーの前にnginxWebサーバーがあります。

プロキシされたJettyサーバーがダウンした場合にHTTP503を返すようにnginxを構成したいと思います。

このようにして、メンテナンスのためにアプリサーバーを停止すると、クラッシュした場合に503がクライアントに返され、サイトが一時的に利用できないことをクライアントに通知します。

ただし、基本構成では、Nginxはproxy_passの場所に接続できない場合、HTTP 502 BadGatewayを返します。

代わりに503を報告するようにnginxを構成することは可能ですか?

6
Richard Nichols

エラーページ を設定することでこれを行うことができます。

error_page 502 =503 /maintenance.html
4

Martin Fjordvaldの回答の内容だけで、まだ502を取得していましたが、実際のmaintenance.htmlページはありませんでしたが、これは機能しているようです。

    location / {
        error_page 502 =503 /maintenance.html;
        include proxy_params;
        proxy_pass http://unix:/var/run/my.sock;
    }
    location /maintenance.html {
        return 503;
    }
2
ThorSummoner