Ich habe derzeit einen vhost auf Nginx für foo.domain.com und alles funktioniert großartig.
Ich habe eine neue Datei für eine neue Subdomain namens bar.domain.com erstellt, die ich hinzufügen möchte. Ich verwende für beide die gleichen Einstellungen.
Wenn ich Nginx neu starte, bekomme ich
Restarting nginx: nginx: [warn] conflicting server name "" on 0.0.0.0:443, ignored nginx.
Wenn ich zu bar.domain.com gehe, sehe ich, was ich sehen soll, aber wenn ich zu foo.domain.com gehe, sehe ich die Seite, auf die bar.domain.com verweist.
Foo
upstream php-handler {
server unix:/var/run/php5-fpm.sock;
}
server {
listen 80;
server_name foo.domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443;
ssl on;
ssl_certificate [path_foo]/cacert.pem;
ssl_certificate_key [path_foo]/privkey.pem;
root [path]/foo;
...
}
Bar
server {
listen 80;
server_name bar.domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443;
ssl on;
ssl_certificate [path_bar]/cacert.pem;
ssl_certificate_key [path_bar]/privkey.pem;
root [path]/bar;
}
Wo gehe ich falsch?
nginx
ssl
virtualhost
RockJake28
quelle
quelle
server_name
in der SSL (443) -Konfiguration angeben .listen 443
auf jedem Server hinzufügenserver_name [foo/bar].domain.com
?Antworten:
Sieht für mich so aus, als müssten für Ihre https-Blöcke auch Servernamen angegeben werden, z
quelle
Möglicherweise enthalten Sie auch zusätzliche Dateien
/etc/nginx/sites-available/<site-name>
, mit denen verknüpft ist/etc/nginx/sites-enabled/<site-name>
.Die Einstellungen in diesen Dateien können mit der
/etc/nginx/sites-available/default
Datei in Konflikt stehenquelle
Ich hatte ein ähnliches Problem, als ich versehentlich einen doppelten Servernamen hatte:
Behoben durch Ändern in:
quelle
Überprüfen Sie auch jede Datei
/etc/nginx/conf.d
auf Duplikate.In meinem Fall
nginx -t
Tests bestanden - Ich habe diese Fehlermeldung erhalten, als ich versucht habe, nginx zu starten.Meine
/etc/nginx/sites-enabled
Dateien waren frei von Domain (Servername) Duplikate und hatte nur 1 Verweis aufserver_default
(und keinelocalhost
Duplikate)Stattdessen gab es 2 Dateien, in
conf.d
denen beide auf eine bestimmte Domäne verwiesen (dh 2 Dateien hatten eine Zeile wie :servername mydomain.com
, wobei einer der Domänennamen in 2 Dateien aufgeführt war).Meine Lösung: Stellen Sie also sicher, dass alle Dateien höchstens einmal auf
conf.d
einen bestimmtenservername
Wert (Domainnamen) verweisen .( Leider wird nach Behebung des oben genannten Problems jetzt
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Folgendes angezeigt : Fehlermeldungen, wenn ich versuche, nginx neu zu starten.)Update : FYI, re: ...
Address already in use
Fehlermeldung oben:Alles was ich tun musste war
sudo fuser -k 80/tcp
dannservice nginx restart
wie ein Zauber zu arbeiten!Ich fand die Antwort hier: https://easyengine.io/tutorials/nginx/troubleshooting/emerg-bind-failed-98-address-already-in-use/
update2 :
Es wurde vermutet, dass ein anderer Prozess Port 80 verwendet hat (weshalb das Beenden funktioniert hat und auch sinnvoll ist, dass b / c nginx zu diesem Zeitpunkt nicht ausgeführt wurde).
https://community.letsencrypt.org/t/nginx-emerg-bind-to-80-failed-98-address-already-in-use/52914/4
Sie weisen auch darauf hin, dass das Sehen des Prozesses, bevor er nur beendet wird, einen Einblick in die Ursachen des Problems geben kann.
Daher ist es wahrscheinlich besser, entweder:
sudo fuser -k 80/tcp
(ohne die Option -k) zu verwenden, gefolgt von agrep
für diese Prozessnummern.systemctl list-unit-files
Ausgabe, kann Einblick in widersprüchliche Prozesse gebenoder :
fuser -kivn tcp 80
, wobei:-v
den Prozessnamen zusätzlich zur Prozess-ID druckt,-i
wird er aufgefordert, bevorhttps://community.letsencrypt.org/t/nginx-emerg-bind-to-80-failed-98-address-already- beendet wird. in Gebrauch / 52914/5
quelle
In meinem Fall konnte ich kein Duplikat finden. Ich hatte jedoch die default.conf, in der ich die gesamte Konfiguration mit Ausnahme des öffnenden Serverblocks und der schließenden Klammer kommentierte ... und dies verursachte den widersprüchlichen Fehler.
Grundsätzlich war es ein nicht berücksichtigter Serverblock OHNE eine Servername-Direktive, die das Problem verursachte, keine doppelte.
quelle