Передайте корневой домен www субдомену с помощью записей DNS

Я имею www.mydomain.com указанный Azure Веб-сайт.

www.mydomain.com --- CNAME --- mydomain.azurewebsites.net

Когда я посещаю www.mydomain.com, все хорошо работает. Это хорошо.

Проблема, mydomain.com не работает. Azure только позволяет www субдомен.

В некоторых серверах имен я использую Запись FWD для передачи корня www, и это хорошо работает. Мой текущий сервер имен (zoneedit.com) не имеет этой Записи FWD.

Существует ли Запись DNS, которую мы можем использовать для передачи корневого домена www субдомену?

16
задан 1 November 2014 в 02:05
4 ответа

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

Многие поставщики DNS реализуют настраиваемые (читай: поддельные) типы записей DNS для попробуйте устранить этот недостаток. За кулисами эти поддельные записи реализуют настраиваемое поведение в программном обеспечении этой компании, используя комбинацию синтезированных записей A и перенаправления веб-сервера для достижения желаемой цели. FWD - один из них, очень похожий на WebForward , на который Майкл направил вас в комментариях.

17
ответ дан 2 December 2019 в 20:40

Резюме: Короче говоря, у вас не может быть нужной записи, а ваш DNS-хост делает все правильно.

Объяснение: Наличие CNAME (запись псевдонима / запись пересылки) на вершине зоны (пустое имя в начале зоны) является нарушением стандартов DNS.

Причина в том, что запись CNAME не может иметь конфликт части имени с какой-либо записью, кроме записи DNSSec. В типичной зоне запись CNAME на вершине зоны будет конфликтовать, по крайней мере, с записями SOA и NS (и, вероятно, несколькими другими). Хотя некоторые DNS-серверы допускают это, это плохо и может вызвать сбои, которые трудно диагностировать (не говоря уже о том, что не будет работать, если вы переместите хостинг зоны на DNS-сервер, соответствующий стандартам, например, любой, основанный на BIND) .

Либо иметь записи A на вершине зоны (это может быть простой веб-сервер, который просто пересылает HTTP 302 на www). Если вы можете получить статические IP-адреса для своих экземпляров сервера Azure, поместите запись A для каждого из них на вершине своей зоны и создайте одну запись CNAME с именем «www», которая указывает на запись вершины.

В качестве примера:

 

$ORIGIN example.com.

@    IN  SOA   ns1.example.com.  admin@example.com. (
                                 101 ;
                                 172800 ;
                                 900 ;
                                 1209600 ;
                                 3600 ; )
@    IN  NS    ns1.example.com.
@    IN  NS    ns2.example.com.
@    IN  A     123.234.1.123
@    IN  A     123.234.1.124
@    IN  A     123.234.1.125
ns1  IN  A     123.234.1.126
ns2  IN  A     123.234.1.127
www  IN  CNAME example.com.
8
ответ дан 2 December 2019 в 20:40

Некоторые протоколы имеют стандарты для типов записей DNS, отличных от записей A, для поиска службы. SMTP с соответствующими записями MX - хороший пример этого. Для HTTP не существует определенных типов записей DNS. Вероятно, у вашего предыдущего поставщика DNS / регистратора была либо служба перенаправления HTTP, либо служба обратного прокси.

Для достижения вашей цели вам необходимо настроить веб-сервер (виртуальный хост) для выполнения перенаправления HTTP 301 или 302 с одного имя хоста для другого, настроить обратный HTTP-прокси, настроить независимые виртуальные хосты или использовать псевдонимы виртуальных хостов, чтобы один и тот же экземпляр веб-сервера отвечал на оба имени A.

2
ответ дан 2 December 2019 в 20:40

Если вы хотите получить ответ, специфичный для Azure, вам необходимо создать другую запись CNAME, указывающую на awverify.mydomain.azurewebsites.net, как это

www.mydomain.com --- CNAME --- awverify.mydomain.azurewebsites.net
0
ответ дан 2 December 2019 в 20:40

Теги

Похожие вопросы