Назад | Перейти на главную страницу

nginx www.domain.com против виртуального хоста domain.com

У меня есть блок http, в который я включаю виртуальные хосты для разных доменов, размещенных на одном сервере. Для каждого виртуального хоста я делаю:

listen domain.com:80;

Теперь domain2.com работает нормально. Однако когда я делаю www.domain2.com, он показывает страницу для domain1.com!

Как правильно настроить nginx? Это имеет какое-то отношение к www такое CNAME или запись A?

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
}

Это будет работать независимо от того, совпадают ли два IP-адреса или нет. Вы можете просто использовать listen 80; если вам не нужны разные серверы на разных IP-адресах и все основано на именах.

Похоже, что в серверном блоке можно делать следующее:

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