J'exécute docker-nginx sur le serveur ECS. Mon service nginx est soudainement arrêté parce que le proxy_path de l'un des serveurs est inaccessible. L'erreur est la suivante:Docker Nginx arrêté: [emerg] 1 # 1: hôte introuvable en amont
[emerg] 1#1: host not found in upstream "dev-example.io" in /etc/nginx/conf.d/default.conf:988
Mon fichier de configuration est comme ci-dessous:
server {
listen 80;
server_name test.com;
location/{
proxy_pass http://dev-exapmle.io:5016/;
proxy_redirect off;
##proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
server {
listen 80 default_server;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location/{
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
J'ai beaucoup de serveurs dans le fichier de configuration, même si un serveur est en baisse, je dois avoir en cours d'exécution nginx. Y a-t-il un moyen de le réparer?
Une suggestion pour résoudre ce problème serait appréciée.
généralement cela peut être pour deux raisons: soit le service dans http://dev-exapmle.io:5016/ est en panne ou ne répond pas aux demandes; ou bien vous avez une configuration selinux qui empêche nginx d'envoyer des requêtes par proxy. Je regarderais dans les journaux pour l'app servant dev-example.io. Si vous ne voyez rien arriver, c'est probablement un problème de selinux, auquel cas vous voudrez peut-être jeter un oeil à cette réponse: http://stackoverflow.com/questions/27435655/nginx-proxy-pass-not- working-in-selinux –
@ JoséAntonioHaroPeralta merci pour le commentaire. oui ce service, dev-exapmle.io:5016, est en panne. Mais j'ai beaucoup d'autres services dans mon fichier de configuration nginx qui fonctionne mais à cause de ce service, le nginx s'est arrêté. Y a-t-il un moyen de le réparer? – Matrix
inclure une directive résolveur (pointant par exemple sur google, 8.8.8.8). Nginx résoudra à cela s'il ne peut pas atteindre votre site, comme indiqué dans les réponses à la question suivante: http://stackoverflow.com/questions/32845674/setup-nginx-not-to-crash-if-host-in -upstream-is-not-found –