Я имею 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 субдомену?
К сожалению, это хорошо известный недостаток протокола DNS. В стандартах DNS не определен тип записи, который позволил бы вам использовать псевдоним вершины домена. Многие люди предполагают, что для этого можно использовать записи CNAME
, но есть технические причины, по которым они не могут .
Многие поставщики DNS реализуют настраиваемые (читай: поддельные) типы записей DNS для попробуйте устранить этот недостаток. За кулисами эти поддельные записи реализуют настраиваемое поведение в программном обеспечении этой компании, используя комбинацию синтезированных записей A
и перенаправления веб-сервера для достижения желаемой цели. FWD
- один из них, очень похожий на WebForward
, на который Майкл направил вас в комментариях.
Резюме: Короче говоря, у вас не может быть нужной записи, а ваш 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.
Некоторые протоколы имеют стандарты для типов записей DNS, отличных от записей A, для поиска службы. SMTP с соответствующими записями MX - хороший пример этого. Для HTTP не существует определенных типов записей DNS. Вероятно, у вашего предыдущего поставщика DNS / регистратора была либо служба перенаправления HTTP, либо служба обратного прокси.
Для достижения вашей цели вам необходимо настроить веб-сервер (виртуальный хост) для выполнения перенаправления HTTP 301 или 302 с одного имя хоста для другого, настроить обратный HTTP-прокси, настроить независимые виртуальные хосты или использовать псевдонимы виртуальных хостов, чтобы один и тот же экземпляр веб-сервера отвечал на оба имени A.
Если вы хотите получить ответ, специфичный для Azure, вам необходимо создать другую запись CNAME, указывающую на awverify.mydomain.azurewebsites.net, как это
www.mydomain.com --- CNAME --- awverify.mydomain.azurewebsites.net