nginx + uwsgi custom 502 ne fonctionnera pas

Bonjour, j’essaie de faire fonctionner une page 502 personnalisée sur un site Web et ne semble pas pouvoir le faire fonctionner.

Fondamentalement, la façon dont je le teste est que je ne fais que stopper uwsgi et accéder à la page et à chaque fois que je reçois la page nginx 502 par défaut. Quelqu’un peut-il s’il vous plaît m’expliquer comment faire fonctionner cela? J’ai été là pendant plus d’une semaine avec 0 succès. J’ai un fichier nommé 502.html dans public_html et je peux y accéder directement avec http://ask.ploy.io/502.html mais dès que j’arrête uwsgi et que j’essaie d’accéder au domaine principal http: // demander. ploy.io Je reçois la page par défaut 502. Voici la configuration de vhost:

### nginx vhost conf for ployio server { listen 80; server_name ask.ploy.io www.ask.ploy.io; access_log /usr/local/apache/domlogs/ask.ploy.io main; error_log /home/ployio/access-logs/ask.ploy.io debug; root /home/ployio/public_html; index index.html index.htm index.php; location /502.html { root /home/ployio/public_html; } location ~ /\.ht { deny all; } location / { error_page 404 403 = @uwsgi; log_not_found off; error_page 502 /502.html; root /home/ployio/public_html; } location @uwsgi { internal; uwsgi_pass unix:/home/ployio/.uwsgi/uwsgi.sock; include /usr/local/nginx/conf/uwsgi_params; } location ~* ^.*\.php$ { if (!-f $request_filename) { return 404; } proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://204.61.223.114:8888; } location /cpanel { rewrite ^/(.*) https://cpanel.ask.ploy.io:2083/$1 permanent; } } 

Si 502 c’est le seul code d’erreur que vous voulez gérer avec une page d’erreur personnalisée, il vous suffit d’être spécifique à l’emplacement:

 location /502.html { root /home/ployio/public_html; } 

Votre emplacement actuel ne correspond qu’au chemin exact “/50x.html”, qui n’existe en effet pas sur votre serveur: http://ask.ploy.io/50x.html

Il est également possible d’utiliser des variables nginx ($ uri ou quelque chose de similaire) pour redirect toutes les erreurs 50x vers ce répertoire racine, mais pour vos besoins, cela devrait suffire.

Le problème principal est dans la section de l’ location @uwsgi .. il ne semble jamais gérer correctement le retour 502 ..

Ceci est une config de travail

 server { listen 80; server_name ask.ploy.io www.ask.ploy.io; access_log /usr/local/apache/domlogs/ask.ploy.io main; error_log /home/ployio/access-logs/ask.ploy.io debug; root /home/ployio/public_html; index index.html index.htm index.php; location / { uwsgi_pass unix:/home/ployio/.uwsgi/uwsgi.sock; include /usr/local/nginx/conf/uwsgi_params; } error_page 502 503 504 @maintenance; location @maintenance { root /home/ployio/public_html_502; rewrite ^(.*)$ /502.html break; } } 

Assurez-vous de mettre le 502.html dans une nouvelle racine et de le référencer ici .. ps .. randall suce