Руководство. Создание записей DNS для веб-приложения в личном домене

Службу Azure DNS можно использовать для размещения пользовательского домена для веб-приложений. Например, вы создаете веб-приложение Azure и хотите, чтобы пользователи получали к нему доступ, используя www.contoso.com или contoso.com как полное доменное имя (FQDN).

Для этого необходимо создать три записи:

  • корневую запись A, указывающую на contoso.com;
  • корневую запись TXT для проверки;
  • запись CNAME для имени www, которая указывает на запись A.

В этом руководстве описано следующее:

  • Создание записи A и TXT для пользовательского домена
  • Создание записи CNAME для личного домена
  • Тестирование новых записей
  • Добавление пользовательских имен узлов для веб-приложения
  • Проверка пользовательских имен узлов

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.

Необходимые компоненты

  • Учетная запись Azure с активной подпиской.

  • Доменное имя, которое можно разместить в Azure DNS. У вас должен быть полный контроль над этим доменом, включая возможность определять записи сервера имен (NS) для домена.

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

  • Зона Azure DNS с делегированием в регистраторе в Azure DNS. Если у вас нет такой зоны, можно создать зону DNS, а затем делегировать домен в Azure DNS.

Примечание.

В этом руководстве в качестве примера доменного имени используется contoso.com. Вместо contoso.com укажите свое доменное имя.

Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Screenshot that shows an example of Try It for Azure Cloud Shell.
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Button to launch Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы запустить код или команду.

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Вход в Azure

Войдите на портал Azure.

Создание записи A

Запись A используется для сопоставления имени с IP-адресом. В следующем примере "@" назначается как запись A, используя IPv4-адрес веб-приложения. @ обычно представляет корневой домен.

Получение IPv4-адреса

На портале Azure на странице "Службы приложений" в области навигации слева выберите Личные домены, а затем скопируйте IP-адрес веб-приложения:

Screenshot of Azure App Service Custom domains page showing the web app I P address.

Создание записи

Чтобы создать запись A, используйте следующую команду:

New-AzDnsRecordSet -Name "@" -RecordType "A" -ZoneName "contoso.com" `
 -ResourceGroupName "MyAzureResourceGroup" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -IPv4Address "<ip of web app service>")

Внимание

Запись А нужно обновить вручную, если изменится IP-адрес веб-приложения.

Создание записи TXT

Службы приложений используют эту запись только во время настройки, чтобы убедиться, что вы являетесь владельцем личного домена. После проверки и настройки личного домена в службе приложений эту запись TXT можно удалить.

Примечание.

Если вы хотите проверить имя домена, а не маршрутизацию рабочего трафика к веб-приложению, необходимо только указать запись типа TXT для этого этапа проверки. Для проверки не требуется запись A или CNAME в дополнение к записи TXT.

Чтобы создать запись TXT, используйте следующую команду:

New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName MyAzureResourceGroup `
 -Name "@" -RecordType "txt" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -Value  "contoso.azurewebsites.net")

Создание записи CNAME

Если вашим доменом уже управляет Azure DNS (см. статью о делегировании домена в Azure DNS), можно использовать следующий пример, чтобы создать запись CNAME для contoso.azurewebsites.net. У записи CNAME, созданной в этом примере, срок жизни составляет 600 секунд в зоне DNS с именем "contoso.com" и псевдонимом для веб-приложения contoso.azurewebsites.net.

New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName "MyAzureResourceGroup" `
 -Name "www" -RecordType "CNAME" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -cname "contoso.azurewebsites.net")

Ниже приведен пример ответа.

    Name              : www
    ZoneName          : contoso.com
    ResourceGroupName : myazureresourcegroup
    Ttl               : 600
    Etag              : 8baceeb9-4c2c-4608-a22c-229923ee185
    RecordType        : CNAME
    Records           : {contoso.azurewebsites.net}
    Tags              : {}

Тестирование новых записей

Проверить, что записи были созданы правильно, можно, запросив www.contoso.com и contoso.com с помощью команды nslookup, как показано ниже.

PS C:\> nslookup
Default Server:  Default
Address:  192.168.0.1

> www.contoso.com
Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
Name:    <instance of web app service>.cloudapp.net
Address:  <ip of web app service>
Aliases:  www.contoso.com
contoso.azurewebsites.net
<instance of web app service>.vip.azurewebsites.windows.net

> contoso.com
Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
Name:    contoso.com
Address:  <ip of web app service>

> set type=txt
> contoso.com

Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
contoso.com text =

        "contoso.azurewebsites.net"

Добавление пользовательских имен узлов

Теперь можно добавить пользовательские имена узлов для веб-приложения.

set-AzWebApp `
 -Name contoso `
 -ResourceGroupName <your web app resource group> `
 -HostNames @("contoso.com","www.contoso.com","contoso.azurewebsites.net")

Проверка пользовательских имен узлов

Откройте окно браузера и перейдите по адресу http://www.<your domain name> и http://<you domain name>.

Примечание.

Убедитесь, что вы добавили префикс http://, иначе браузер может попытаться предсказать ваш URL-адрес.

Вы должны увидеть ту же страницу для обоих URL-адресов. Например:

Screenshot of the contoso Azure App Service Web App accessed via web browser.

Очистка ресурсов

Чтобы очистить ненужные ресурсы, созданные при работе с этим учебником, удалите группу ресурсов MyAzureResourceGroup:

  1. В меню портала Azure выберите Группы ресурсов.
  2. Выберите группу ресурсов MyAzureResourceGroup.
  3. На вкладке Обзор выберите Удалить группу ресурсов.
  4. Введите MyAzureResourceGroup и выберите Удалить.

Следующие шаги

В этом руководстве описано, как создать записи DNS в личном домене для веб-приложения. Чтобы узнать, как создать записи псевдонимов для ссылок на записи зон, изучите следующее руководство: