nginx www.domain.com vs domain.com virtualhost

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

listen domain.com:80;

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

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

2 ответа

Решение

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

listen 80;
server_name domain.com www.domain.com;
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 и все на основе имен.

Другие вопросы по тегам