Запись дублирует запись CNAME

Моя хостинговая компания настроила записи DNS для моего сайта, так что есть две записи для www:

example.com       A       192.0.2.222
www.example.com   A       192.0.2.222
www.example.com   CNAME   example.com

Есть ли причина для того, чтобы оба A запись и CNAME запись для www?

Я сейчас хочу перенаправить www на совершенно другой сайт.

Я предполагаю, что я должен удалить A запись для www и изменить CNAME запись для www чтобы ссылаться на URL другого сайта. Это верно?

2 ответа

Решение

Нет, нет. Это на самом деле считается ошибкой, объяснено ниже.

В этом случае, если вы хотите перенаправить www на совершенно другой сайт, вы удалите оба CNAME и A и замените его другой записью любого типа A или же CNAME, но не оба.

Также обратите внимание, что CNAME работает просто как псевдоним для канонического имени. Он не будет выполнять никакого фактического перенаправления, поскольку перенаправление является функцией протокола HTTP, а не DNS.


Если имя хоста имеет CNAME запись, она не должна иметь других записей ресурсов другого типа. Рекомендации:

RFC 1912, 2.4 CNAME записи

CNAME запись не может сосуществовать с любыми другими данными. Другими словами, если suzy.podunk.xx это псевдоним для sue.podunk.xxВы также не можете иметь MX запись для suzy.podunk.eduили A запись, или даже TXT запись. Особенно не пытайтесь совмещать CNAMEс и NS учет

Если вы используете CNAMEDNS-сервер должен вернуть оба CNAME запись и A запись для канонического имени хоста, на который он указывает. То же относится и к IPv6 AAAA записей.

RFC 1034, 3.6.2 Псевдонимы и канонические имена

Например, предположим, что сервер имен обрабатывал запрос для USC-ISIC.ARPA, спрашивая тип A информация, и имел следующие записи ресурса:

USC-ISIC.ARPA   IN      CNAME   C.ISI.EDU

C.ISI.EDU       IN      A       10.0.0.52

Оба эти RR будут возвращены в ответ на тип A запрос, а тип CNAME или * запрос должен возвращать только CNAME,

Единственное исключение - DNSSEC.

RFC 2181, 10.1 разрешено SIG, NXT, а также KEY записи, в то время как используемое в настоящее время определение:

RFC 4035, 2.5 Изменения в записи ресурса CNAME

Если CNAME RRset присутствует в имени в подписанной зоне, соответствующий RRSIG а также NSEC RRsets ТРЕБУЮТСЯ под этим именем. KEY RRset с этим именем для целей безопасного динамического обновления также разрешен ([RFC3007]). Другие типы НЕ ДОЛЖНЫ присутствовать в этом имени.

Это модификация оригинала CNAME определение дано в [RFC1034]. Первоначальное определение CNAME ОР не позволял другим типам сосуществовать с CNAME запись, но подписанная зона требует NSEC а также RRSIG РР за каждое авторитетное имя. Чтобы разрешить этот конфликт, эта спецификация изменяет определение CNAME запись ресурса, чтобы позволить ему сосуществовать с NSEC а также RRSIG ЗБ.

Ошибочно иметь обе записи. Вы можете безопасно удалить запись A и отредактировать CNAME, чтобы она указывала на другой сайт.

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