Имена пользовательских доменов и бесплатные управляемые сертификаты в приложениях контейнеров Azure
Приложения контейнеров Azure позволяют привязать один или несколько пользовательских доменов к приложению-контейнеру. Вы можете автоматически настроить бесплатный управляемый сертификат для личного домена.
Если вы хотите настроить личный домен с помощью собственного сертификата, ознакомьтесь с именами и сертификатами личного домена в приложениях контейнеров Azure.
Примечание.
Если настроить суффикс пользовательской среды DNS, в приложение контейнера нельзя добавить личный домен, содержащий этот суффикс.
Требования к бесплатному сертификату
Приложения контейнеров Azure предоставляют бесплатный управляемый сертификат для личного домена. Без каких-либо действий, необходимых от вас, этот сертификат TLS/SSL-сервера автоматически обновляется, пока ваше приложение продолжает соответствовать требованиям к управляемым сертификатам.
Для этого необходимы следующие компоненты:
Включите http ingress и убедитесь, что приложение-контейнер является общедоступным.
Должна иметь запись A для вершинных доменов, указывающих на IP-адрес среды контейнеров.
Установите запись CNAME для поддоменов, которые сопоставляются непосредственно с автоматически созданным доменным именем приложения контейнера. Сопоставление с промежуточным значением CNAME блокирует выдачу и возобновление действия сертификата. Примерами значений CNAME являются диспетчеры трафика, Cloudflare и аналогичные службы.
Примечание.
Чтобы обеспечить успешное выполнение выдачи сертификата и последующих обновлений, все требования должны выполняться всегда при назначении управляемого сертификата.
Добавление личного домена и управляемого сертификата
Перейдите к приложению-контейнеру в портал Azure
Убедитесь, что в приложении включен входящий трафик HTTP, выбрав входящий трафик в разделе "Параметры ". Если входящий трафик не включен, включите его с помощью следующих действий:
- Установите для параметра "Входящий трафик HTTP" значение "Включено".
- Выберите нужный параметр трафика входящего трафика .
- Введите целевой порт.
- Выберите Сохранить.
В разделе "Параметры" выберите "Личные домены".
Нажмите кнопку Добавить личный домен.
В окне "Добавление личного домена и сертификата" в TLS/SSL-сертификате выберите управляемый сертификат.
В домене введите домен, который вы хотите добавить.
Выберите тип записи hostname в зависимости от типа домена.
Тип домена Тип записей Примечания. Вершинный домен Запись A Основной домен — это домен на корневом уровне домена. Например, если ваша зона DNS имеет contoso.com
значение, тоcontoso.com
является доменом вершины.Поддомен CNAME Поддомен — это домен, который является частью другого домена. Например, если ваша зона DNS является contoso.com
, тоwww.contoso.com
это пример поддомена, который можно настроить в зоне.Используя поставщик DNS, на котором размещен домен, создайте записи DNS на основе выбранного типа записи имени узла, используя значения, показанные в разделе проверки домена. Записи указывают домен в приложение контейнера и убедитесь, что вы являетесь владельцем.
Если выбрана запись A, создайте следующие записи DNS:
Тип записи Хост Значение а @
IP-адрес среды приложений контейнеров TXT asuid
Код проверки домена Если вы выбрали CNAME, создайте следующие записи DNS:
Тип записи Хост Значение CNAME Поддомен (например, www
)Автоматически созданный <appname>.<region>.azurecontainerapps.io
домен приложения-контейнераTXT asuid.
за которым следует поддомен (например,asuid.www
)Код проверки домена
Выберите Проверить.
После успешной проверки нажмите кнопку "Добавить".
Может потребоваться несколько минут для выдачи сертификата и добавления домена в приложение контейнера.
После завершения операции вы увидите доменное имя в списке пользовательских доменов с состоянием Secured. Перейдите к домену, чтобы убедиться, что он доступен.
Контейнерные приложения поддерживают домены вершин и поддомены. Для каждого типа домена требуется другой тип записи DNS и метод проверки.
Тип домена | Тип записи | Метод проверки | Примечания. |
---|---|---|---|
Вершинный домен | Запись A | HTTP | Основной домен — это домен на корневом уровне домена. Например, если ваша зона DNS имеет contoso.com значение, то contoso.com является доменом вершины. |
Поддомен | CNAME | CNAME | Поддомен — это домен, который является частью другого домена. Например, если ваша зона DNS является contoso.com , то www.contoso.com это пример поддомена, который можно настроить в зоне. |
Войдите в Azure с помощью Azure CLI.
az login
Затем установите расширение Контейнеров приложений Azure для CLI.
az extension add --name containerapp --upgrade
Убедитесь, что в приложении-контейнере включена входящий трафик HTTP.
az containerapp ingress show -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME>
Если входящий трафик не включен, включите его с помощью следующих действий:
az containerapp ingress enable -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME> \ --type external --target-port <TARGET_PORT> --transport auto
Замените
<CONTAINER_APP_NAME>
именем приложения контейнера, именем группы ресурсов,<RESOURCE_GROUP_NAME>
содержащей приложение контейнера, и<TARGET_PORT>
портом, на который прослушивается приложение контейнера.Если вы настраиваете домен вершины, получите IP-адрес среды приложений контейнеров.
az containerapp env show -n <ENVIRONMENT_NAME> -g <RESOURCE_GROUP_NAME> -o tsv --query "properties.staticIp"
Замените
<ENVIRONMENT_NAME>
именем среды и<RESOURCE_GROUP_NAME>
именем группы ресурсов, содержащей вашу среду.Если вы настраиваете поддомен, получите автоматически созданный домен приложения контейнера.
az containerapp show -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME> -o tsv --query "properties.configuration.ingress.fqdn"
Замените
<CONTAINER_APP_NAME>
именем приложения-контейнера и<RESOURCE_GROUP_NAME>
именем группы ресурсов, содержащей приложение контейнера.Получите код проверки домена.
az containerapp show -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME> -o tsv --query "properties.customDomainVerificationId"
Замените
<CONTAINER_APP_NAME>
именем приложения-контейнера и<RESOURCE_GROUP_NAME>
именем группы ресурсов, содержащей приложение контейнера.Используя поставщик DNS, на котором размещен домен, создайте записи DNS на основе выбранного типа записи, используя значения, отображаемые в разделе проверки домена. Записи указывают домен в приложение контейнера и убедитесь, что вы владеете им.
Если вы настраиваете домен вершины, создайте следующие записи DNS:
Тип записи Хост Значение а @
IP-адрес среды приложений контейнеров TXT asuid
Код проверки домена Если вы настраиваете поддомен, создайте следующие записи DNS:
Тип записи Хост Значение CNAME Поддомен (например, www
)Автоматически созданный домен приложения-контейнера TXT asuid.
за которым следует поддомен (например,asuid.www
)Код проверки домена
Добавьте домен в приложение контейнера.
az containerapp hostname add --hostname <DOMAIN_NAME> -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME>
Замените
<DOMAIN_NAME>
доменное имя, которое вы хотите добавить, именем группы ресурсов,<RESOURCE_GROUP_NAME>
содержащей приложение контейнера, и<CONTAINER_APP_NAME>
именем приложения контейнера.Настройте управляемый сертификат и привязите домен к приложению контейнера.
az containerapp hostname bind --hostname <DOMAIN_NAME> -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --environment <ENVIRONMENT_NAME> --validation-method <VALIDATION_METHOD>
Замените
<DOMAIN_NAME>
доменное имя, которое вы хотите добавить,<RESOURCE_GROUP_NAME>
именем группы ресурсов, содержащей приложение контейнера,<CONTAINER_APP_NAME>
именем приложения контейнера и<ENVIRONMENT_NAME>
именем вашей среды.- Если вы настраиваете запись A, замените
<VALIDATION_METHOD>
наHTTP
. - Если вы настраиваете CNAME, замените
<VALIDATION_METHOD>
наCNAME
.
Может потребоваться несколько минут для выдачи сертификата и добавления домена в приложение контейнера.
- Если вы настраиваете запись A, замените
После завершения операции перейдите к домену, чтобы убедиться, что она доступна.