У меня есть http-блок, в который я включаю виртуальные хосты для разных доменов, размещенных на одном сервере. Для каждого виртуального хоста я делаю:
listen domain.com:80;
Теперь domain2.com работает нормально. Однако когда я делаю www.domain2.com, он показывает страницу для domain1.com!
Как правильно настроить nginx? Имеет ли это какое-то отношение к www
записи CNAME или A?
решение1
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, и все основано на именах.
решение2
Похоже, в блоке сервера можно сделать следующее:
listen 80;
server_name domain.com www.domain.com;