![nginx: [warn] widersprüchlicher Servername](https://rvso.com/image/726392/nginx%3A%20%5Bwarn%5D%20widerspr%C3%BCchlicher%20Servername.png)
Ich konnte nicht herausfinden, warum dieser Fehler auftritt:
nginx: [warn] widersprüchlicher Servername „stage.mydomain.com“ am 0.0.0.0:80, ignoriert nginx: [warn] widersprüchlicher Servername „stage.mydomain.com“ am 0.0.0.0:443, ignoriert
Meine Sites-fähige Symlink-Datei sieht so aus. Ich bin damit nicht besonders vertraut, aber ich bin der Einzige, der sich mit Servern auskennt. Dies wurde aus der Produktion kopiert. Ich sehe, dass Port 80 und 443 dupliziert sind, aber es gibt einige Konfigurationsunterschiede in jedem Block.
server {
listen 80;
server_name stage.mydomain.com;
return 301 https://stage.mydomain.com$request_uri$is_args;
}
server {
listen 80;
server_name stage.mydomain.com;
location '/.path/here' {
default_type "text/plain";
root /home/username/www/app_name/current/public;
}
return 301 https://stage.mydomain.com$request_uri$is_args;
}
server {
listen 443;
ssl on;
ssl_certificate /a/path/to/my/file.pem;
ssl_certificate_key /a/path/to/my/key.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
##ssl_ciphers HIGH:!aNULL:!MD5;
ssl_ciphers "randomstuffhere";
ssl_prefer_server_ciphers on;
client_max_body_size 32000M;
server_name stage.mydomain.com;
return 301 https://stage.mydomain.com$request_uri;
}
server {
listen 443;
ssl on;
ssl_certificate /a/path/to/my/file.pem;
ssl_certificate_key /a/path/to/my/key.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
##ssl_ciphers HIGH:!aNULL:!MD5;
ssl_ciphers "randomstuffhere";
ssl_prefer_server_ciphers on;
client_max_body_size 32000M;
server_name stage.mydomain.com;
root /home/username/www/app_name/current/public; # <--- be sure to point to 'public'!
passenger_enabled on;
rails_env staging;
}
Antwort1
Sie können nicht zwei Serveranweisungen mit demselben Servernamen haben. Nginx wüsste bei einer eingehenden Anfrage nicht, welche es verwenden soll, da beide denselben virtuellen Hostnamen haben. Daher verwendet Nginx die erste Übereinstimmung.
Aus Ihrem Konfigurationsausschnitt geht hervor, dass Sie die zweite Server-Port-80-Anweisung weglassen können, da das Stammverzeichnis nutzlos ist, da Sie ohnehin eine Umleitung durchführen (was für die erste Server-Anweisung dasselbe ist).
Löschen Sie auch die erste Server-Anweisung 443, da diese eine Umleitungsschleife zu sich selbst verursachen würde.