![Nginx - Subdomain einrichten funktioniert nicht richtig](https://rvso.com/image/697379/Nginx%20-%20Subdomain%20einrichten%20funktioniert%20nicht%20richtig.png)
Zu Beginn habe ich eine Konfigurationsdatei erstellt, die ordnungsgemäß funktioniert, wenn ich auf Folgendes zugreifen möchte http://www.domain.com
:
server {
listen 80;
listen [::]:80;
root /var/www/domain;
index index.html
server_name domain.com www.domain.com;
}
Dann beschließe ich, eine weitere Konfigurationsdatei für eine Subdomäne zu erstellen:
server {
listen 80;
listen [::]:80;
root /var/www/subdomain.domain;
index index.html
server_name subdomain.domain.com;
}
http://www.domain.com
Nun besteht das Problem darin, dass immer, wenn ich auf oder zugreifen möchte http://subdomain.domain.com
, das Ergebnis in beiden Fällen die Seite ist, die ich für die Subdomäne erhalten sollte.
Die neue Conf-Datei wird korrekt zum site-enabled
Ordner hinzugefügt:
ln -s /etc/nginx/site-available/subdomain.domain.conf /etc/nginx/site-enabled/subdomain.domain.conf
Und so sehen meine DNS-Einträge aus:
domain.com. IN A <server_ip>
www.domain.com. IN A <server_ip>
subdomain.domain.com. IN A <server_ip>
Antwort1
Sie vermissen das ;
in der index
Direktive, was dazu führt, dass nginx interpretiert
index.html
server_name domain.com www.domain.com;
als Inhalt der index
Direktive. Daher ist kein virtueller Host mit einem definiert server_name
, und nginx verwendet den virtuellen Host der Subdomäne als virtuellen Catch-All-Host.