Nginx - Subdomain einrichten funktioniert nicht richtig

Nginx - Subdomain einrichten funktioniert nicht richtig

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.comNun 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-enabledOrdner 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 indexDirektive, was dazu führt, dass nginx interpretiert

index.html

server_name domain.com www.domain.com;

als Inhalt der indexDirektive. Daher ist kein virtueller Host mit einem definiert server_name, und nginx verwendet den virtuellen Host der Subdomäne als virtuellen Catch-All-Host.

verwandte Informationen