Назад | Перейти на главную страницу

Как я могу заставить Nginx возвращать HTTP 503, когда мой прокси-сервер приложений не работает?

У меня есть веб-сервер 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;
    }