Я выполнял миграцию сервера и проверял, что все, что связано с DNS, настроено правильно, используяIntoDNS. Однако после этого он выдает ошибку, сообщающую об отсутствии записи A для WWW. Веб-сайт работает нормально, и я заметил, что для этого поддомена есть только запись CNAME.
Мой вопрос в том, должны ли у меня быть как запись CNAME, так и запись A для этого поддомена, или достаточно CNAME, и я могу спокойно проигнорировать эту ошибку? Может ли это потенциально помешать доступу для кого-то, использующего клиент, который не реализует CNAME?
решение1
Причина, по которой ошибка отмечена, заключается в том, что записи A разрешаются быстрее, чем CNAME, поскольку им требуется только один поиск. Поэтому обычно считается наилучшей практикой использовать записи A как для вашего голого домена, так и для поддомена www (особенно если поддомен www является каноническим).
Конечно, из этого правила есть исключения, и они возникают, если у вас есть особые обстоятельства, в которых CNAME будет работать лучше (например, маршрутизация трафика через CDN, такую как Akamai, что в любом случае снижает нагрузку на сеть и ускоряет работу в целом, и в таких случаях имеет смысл указать CNAME).
Если какой-либо из ваших поддоменов указывает на третьих лиц, которые склонны менять IP-адреса из пула, то всегда разумнее использовать запись CNAME, а не A, когда меняется IP-адрес третьей стороны, чтобы вам не приходилось обновлять свой DNS каждый раз, когда они обновляют свой.
В вашем случае это не имеет значения. Но лично я бы выбрал запись A.
Редактировать несколько лет спустя:
Многие DNS-сервисы, такие как AWS Route 53, Cloudflare и другие, теперь предлагают возможности выравнивания CNAME. Если вы используете CNAME, он будет автоматически выравниваться на бэкэнде при разрешении DNS, где он фактически будет преобразован в фактический IP-адрес домена, на который он указывает, так что по сути он будет функционировать точно так же, как запись A с точки зрения DNS-клиента.
решение2
Большинство клиентов могут интерпретировать CNAME
. Убедитесь, что он указывает на A
запись.