У меня есть веб-сервер nginx, расположенный перед сервером приложений Java Jetty, на котором запущено веб-приложение.
Я хотел бы настроить nginx для возврата HTTP 503, если прокси-сервер Jetty не работает.
Таким образом, когда я отключаю сервер приложений для обслуживания, или в случае сбоя, всем клиентам возвращается 503, сообщая им, что сайт временно недоступен.
Однако в базовой конфигурации Nginx возвращает неверный шлюз HTTP 502, когда не может подключиться к местоположению proxy_pass.
Можно ли вместо этого настроить nginx на сообщение 503?
Вы можете сделать это, установив страница ошибки.
error_page 502 =503 /maintenance.html
Только с содержимым ответа Мартина Фьордвальда я все еще получал 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;
}