8 votes

Comment faire en sorte que Nginx renvoie HTTP 503 lorsque mon serveur d'application proxy est hors service ?

J'ai un serveur web nginx en face d'un serveur d'application Java Jetty qui exécute une application web.

J'aimerais configurer nginx pour qu'il renvoie un HTTP 503 si le serveur Jetty mandaté est hors service.

Ainsi, lorsque j'arrête le serveur d'application pour maintenance, ou s'il tombe en panne, un message 503 est renvoyé aux clients pour leur indiquer que le site est temporairement indisponible.

Cependant, avec la configuration de base, Nginx renvoie un message HTTP 502 Bad Gateway lorsqu'il ne peut pas se connecter à l'emplacement proxy_pass.

Est-il possible de configurer nginx pour qu'il signale plutôt un 503 ?

6voto

Schotime Points 6067

Vous pouvez le faire en définissant un page d'erreur .

error_page 502 =503 /maintenance.html

5voto

ThorSummoner Points 311

Avec le contenu de la réponse de Martin Fjordvald, j'obtenais toujours 502, je n'avais pas de véritable page maintenance.html, mais cela semble fonctionner :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X