Używam docker-nginx na serwerze ECS. Moja usługa Nginx zostaje nagle zatrzymana, ponieważ ścieżka proxy dla jednego z serwerów została niedostępna. Błąd jest następujący:Docker Nginx zatrzymany: [emerging] 1 # 1: host nie został znaleziony w bieżącej wersji
[emerg] 1#1: host not found in upstream "dev-example.io" in /etc/nginx/conf.d/default.conf:988
Mój plik konfiguracyjny jest jak poniżej:
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;
}
}
Mam wiele serwerów w pliku konfiguracyjnym, nawet jeśli jeden serwer był w dół, muszę mieć uruchomiony nginx. Czy jest jakiś sposób aby to naprawić?
Wszelkie sugestie dotyczące rozwiązania tego problemu byłyby mile widziane.
zwykle może to być z dwóch powodów: usługa w http://dev-exapmle.io:5016/ jest wyłączona lub nie odpowiada na żądania; albo masz jakąś konfigurację selinux, która uniemożliwia nginxowi zaimportowanie żądań. Zajrzałbym do dzienników aplikacji obsługującej dev-example.io. Jeśli nic nie widzisz, jest to prawdopodobnie problem z selinux. W takim przypadku możesz rzucić okiem na tę odpowiedź: http://stackoverflow.com/questions/27435655/nginx-proxy-pass-not- working-in-selinux –
@ JoséAntonioHaroPeralta dzięki za komentarz. tak, ta usługa, dev-exapmle.io:5016, jest wyłączona. Ale mam wiele innych usług w moim pliku konfiguracyjnym nginx, który działa, ale z powodu tej usługi, nginx zatrzymał się. Czy jest jakiś sposób aby to naprawić? – Matrix
zawierają dyrektywę resolwera (np. Wskaż google, 8.8.8.8). Nginx rozwiąże ten problem, jeśli nie będzie mógł dotrzeć do Twojej witryny, zgodnie z odpowiedziami na następujące pytanie: http://stackoverflow.com/questions/32845674/setup-nginx-not-to-crash-if-host-in -upstream-is-not-found –