В одном из моих nginx sites-available
файл конфигурации, я могу указать псевдоним имени сервера, например:
server_name example.com www.example.com;
Если бы у меня был сервер Apache, я мог бы сделать что-то подобное с ServerName
и ServerAlias
:
ServerName example.com
ServerAlias www.example.com
Я также указал CNAME
запись в моем файле зоны:
www.example.com. 1800 IN CNAME example.com.
я хочу www.example.com
и example.com
для сервера того же контента. Поскольку у меня есть CNAME
запись, все www.example.com
будет указано на example.com
в любом случае, псевдоним не нужен. Аргумент также можно перевернуть с ног на голову, чтобы сказать CNAME
запись не нужна.
Является ли псевдоним на моем веб-сервере (nginx или Apache) и запись CNAME избыточными? Если да, следует ли мне избавиться от одного из них? И если да, то какой?
Без CNAME вам понадобится запись A для www-поддомена, иначе разрешение DNS для www.example.com
не будет работать, и запрос не достигнет вашего сервера.
Вам также понадобится ServerAlias
, потому что даже при использовании CNAME заголовок хоста в HTTP-запросе не изменится, поэтому он все равно будет www.example.com
и вам нужно указать Apache / nginx, какой vhost должен обслуживать этот запрос.
Так что здесь нет ничего лишнего. Единственное преимущество использования CNAME для www.example.com
вместо записи A заключается в том, что при изменении вашего IP-адреса вам нужно будет изменить только запись A для example.com
. При использовании записей A вам придется изменить их обе.