Nginx

當我的代理應用伺服器關閉時,如何讓 Nginx 返回 HTTP 503?

  • March 2, 2016

我有一個 nginx Web 伺服器,它位於執行 Web 應用程序的 Jetty Java 應用伺服器前面。

如果代理的 Jetty 伺服器關閉,我想將 nginx 配置為返回 HTTP 503。

這樣,當我關閉應用伺服器進行維護時,如果它碰巧崩潰,則會向任何客戶端返回 503,讓他們知道該站點暫時不可用。

但是,使用基本配置,當 Nginx 無法連接到 proxy_pass 位置時,它會返回 HTTP 502 Bad Gateway。

是否可以將 nginx 配置為報告 503?

您可以通過設置錯誤頁面來做到這一點。

error_page 502 =503 /maintenance.html

僅憑 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;
   }

引用自:https://serverfault.com/questions/186632