nginx www.domain.com vs domain.com virtueller Host

nginx www.domain.com vs domain.com virtueller Host

Ich habe einen HTTP-Block, in den ich virtuelle Hosts für die verschiedenen Domänen einfüge, die auf demselben Server gehostet werden. Für jeden virtuellen Host mache ich Folgendes:

listen domain.com:80;

Jetzt funktioniert domain2.com einwandfrei. Wenn ich jedoch www.domain2.com eingebe, wird die Seite für domain1.com angezeigt!

Wie konfiguriert man nginx richtig? Hat das etwas damit zu tun, ob es wwwsich um einen CNAME- oder einen A-Eintrag handelt?

Antwort1

server {
 listen WHATEVER_IP:80;
 server_name domain2.com;
 ... rest of config for domain2.com goes here
}

server {
 listen WHATEVER_IP:80;
 server_name www.domain2.com;
 ... rest of config for www.domain2.com goes here
}

Dies funktioniert unabhängig davon, ob die beiden IPs gleich sind oder nicht. Sie können es nur verwenden, listen 80;wenn Sie keine unterschiedlichen Server auf unterschiedlichen IPs benötigen und alles namenbasiert ist.

Antwort2

Es sieht so aus, als könnten Sie in einem Serverblock Folgendes tun:

listen 80;
server_name domain.com www.domain.com;

verwandte Informationen