Назад | Перейти на главную страницу

Почему нельзя использовать CNAME и DNAME вместе

Если у вас есть основной домен и несколько похожих доменов, которые вы в основном хотите вести одинаково, кажется логичным настроить его следующим образом:

Зона «плохих отношений»:

amazon.co.uk. DNAME amazon.com.

amazon.co.uk. CNAME amazon.com.

Зона «Папа»:

amazon.com. A 1.1.1.1

www.amazon.com. A 1.1.1.1

amazon.com. MX x.y.z.

... и ожидайте, что электронная почта для amazon.co.uk и .com будет обрабатываться xyz и веб-сервером 1.1.1.1, чтобы получать запросы не только для amazon.com и www.amazon.com, но и для amazon.co .uk и www.amazon.co.uk.

Однако RFC 6672 говорит:

The owner name of a DNAME can only have one DNAME RR, and no CNAME RRs can exist at that name. These rules make sure that for a single domain name, only one redirection exists; thus, there's no confusion about which one to follow.

Чего я не понимаю и у меня вопрос: какой потенциальной путаницы можно избежать, если не разрешить CNAME с DNAME? Насколько я понимаю, DNAME будет делать все, кроме вершины, а CNAME - вершины, что я пропустил?

Из-за способа определения CNAME должен быть единственным RR для домена. В результате он применим только к верхним доменам.

DNAME может использоваться вместо нескольких CNAME записи, когда все поддомены домена должны быть перенаправлены в одну и ту же структуру в другом домене. В DNAME запись не перенаправляет домен, к которому она применяется. Серверы, запрашивающие домен, перенаправленный DNAME запись получит CNAME ответ.

Если оба домена обслуживаются одними и теми же серверами, можно было бы избежать перенаправления, используя один и тот же файл зоны для обоих доменов.

Потому что это правило.

похоже, что ответ в основном заключается в том, что первоначальные архитекторы никогда не думали, что это будет полезно или что-то столь же близорукое.

Если запись CNAME была разрешена в корне, CNAME будет включать записи NS, делая саму зону недействительной, превращая ее в бесконечный цикл.

Другие DNS-серверы «исправили» это с помощью таких вещей, как ANAME, которое специально определяет разрешение хоста как ответ на запрос A-записи. ANAME не является стандартом.

http://tools.ietf.org/html/rfc1912

http://www.faqs.org/rfcs/rfc1034.html

Делайте то, что делают все остальные, и 301 ваш корневой домен к субдомену www, либо самостоятельно, либо с помощью сторонней службы.