我有一个 nginx Web 服务器,位于运行 Web 应用程序的 Jetty Java 应用服务器前面。
如果代理的 Jetty 服务器关闭,我想要配置 nginx 来返回 HTTP 503。
这样,当我关闭应用服务器进行维护时,如果它发生崩溃,则会向所有客户端返回 503,让他们知道该站点暂时不可用。
但是,使用基本配置时,当 Nginx 无法连接到 proxy_pass 位置时,它会返回 HTTP 502 Bad Gateway。
是否可以配置 nginx 来报告 503?
答案1
您可以通过设置错误页面。
error_page 502 =503 /maintenance.html
答案2
仅使用 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;
}