In meinem Nginx gibt es mehrere Site-Konfigurationen. Wenn ich den Computer neu starte und einer der Upstreams der Sites nicht erreicht werden kann, wird Nginx überhaupt nicht gestartet, und diese fehlerfreie Site wird nicht gestartet Nginx diese ungültigen Websites ignorieren?
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
##
#passenger_root /usr;
#passenger_ruby /usr/bin/ruby;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
und sites-enabled / example1 ist
upstream example1 {
server example1.service.example.com;
}
server {
listen 80;
server_name example1.com;
location / {
proxy_pass http://example1/;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
und sites-enabled / example2 ist
upstream example2 {
server example2.service.example.com;
}
server {
listen 80;
server_name example2.com;
location / {
proxy_pass http://example2/;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Wenn ich den Computer neu starte und zu diesem Zeitpunkt example2.service.example.com nicht verfügbar ist, wird nginx überhaupt nicht gestartet, dh sogar example1.service.example.com ist verfügbar, nginx wird beispielsweise nicht bereitgestellt1
===== update Erläuterung von "is down": Alle Subdomains werden automatisch auf meinem eigenen DNS-Server registriert / abgemeldet. Wenn der Server also nicht verfügbar ist, antwortet der DNS nicht auf eine solche Domain, wenn er versucht, sie aufzulösen.
Antworten:
Schließlich finde ich den Walkaround heraus, löse die Domain insdie Location funktioniert!
Beispiel:
Und nginx wird nicht versuchen,
http://something.service.lab.mu
zur Startzeit eine Lösung zu finden.quelle
proxy_pass $target;
ich dies tue , erhalte ich "502 Bad Gateway" und erhalte "proxy_pass http://$target
500 Internal Server Error". In diesem Fall kann Nginx den Host tatsächlich auflösen.Für alle, die über dieses Problem stolpern, ist @cgcgbcbc korrekt.
Sie müssen aber auch ein hinzufügen
Richtlinie über der
Andernfalls wird in nginx eine Fehlermeldung angezeigt:
quelle