Como posso fazer o Nginx retornar HTTP 503 quando meu servidor de aplicativos com proxy estiver inativo?

4

Eu tenho um servidor da Web nginx sentado em frente a um servidor de aplicativos do Jetty Java executando um aplicativo da Web.

Gostaria de configurar o nginx para retornar um HTTP 503 se o servidor Jetty com proxy estiver inativo.

Dessa forma, quando eu interrompo o servidor de aplicativos para manutenção, se ele falhar, um 503 é retornado a todos os clientes, informando que o site está temporariamente indisponível.

No entanto, com a configuração básica, o Nginx retorna um Gateway Bad HTTP 502 quando não pode se conectar ao local proxy_pass.

É possível configurar o nginx para relatar um 503?

    
por Richard Nichols 01.10.2010 / 16:51

2 respostas

4

Você pode fazer isso configurando uma página de erro .

error_page 502 =503 /maintenance.html
    
por 01.10.2010 / 18:47
1

Com apenas o conteúdo da resposta de Martin Fjordvald, eu ainda estava recebendo 502, não tinha uma página de manutenção real.html, mas isso parece funcionar:

    location / {
        error_page 502 =503 /maintenance.html;
        include proxy_params;
        proxy_pass http://unix:/var/run/my.sock;
    }
    location /maintenance.html {
        return 503;
    }
    
por 02.03.2016 / 23:42