Имена пользовательских доменов и бесплатные управляемые сертификаты в приложениях контейнеров 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
)Созданный домен приложения-контейнера. 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
Задайте следующие переменные среды. Замените
<PLACEHOLDERS>
значения своими значениями.RESOURCE_GROUP = "<RESOURCE_GROUP>" CONTAINER_APP = "<CONTAINER_APP>" ENVIRONMENT = "<ENVIRONMENT>" TARGET_PORT = "<TARGET_PORT>" DOMAIN_NAME = "<DOMAIN_NAME>" CERTIFICATE_LOWERCASE_NAME = "<CERTIFICATE_LOWERCASE_NAME>" CERTIFICATE_LOCAL_PATH = "<CERTIFICATE_LOCAL_PATH>" CERTIFICATE_PASSWORD = "<CERTIFICATE_PASSWORD>"
- Замените
<CERTIFICATE_LOCAL_PATH>
локальный путь к файлу сертификата. - Замените
<CERTIFICATE_LOWERCASE_NAME>
нижним регистром имя сертификата, уникальное в среде. - Замените
<TARGET_PORT>
портом, на который прослушивается приложение контейнера.
- Замените
Убедитесь, что в приложении-контейнере включена входящий трафик HTTP.
az containerapp ingress show \ -n $CONTAINER_APP \ -g $RESOURCE_GROUP
Если входящий трафик не включен, включите его с помощью следующих действий:
az containerapp ingress enable \ -n $CONTAINER_APP \ -g $RESOURCE_GROUP \ --type external \ --target-port $TARGET_PORT \ --transport auto
Если вы настраиваете домен вершины, получите IP-адрес среды приложений контейнеров.
az containerapp env show \ -n $ENVIRONMENT \ -g $RESOURCE_GROUP \ -o tsv \ --query "properties.staticIp"
Если вы настраиваете поддомен, получите автоматически созданный домен приложения контейнера.
az containerapp show \ -n $CONTAINER_APP \ -g $RESOURCE_GROUP \ -o tsv \ --query "properties.configuration.ingress.fqdn"
Получите код проверки домена.
az containerapp show \ -n $CONTAINER_APP \ -g $RESOURCE_GROUP \ -o tsv \ --query "properties.customDomainVerificationId"
Используя поставщик DNS, на котором размещен домен, создайте записи DNS на основе выбранного типа записи, используя значения, отображаемые в разделе проверки домена. Записи указывают домен в приложение контейнера и убедитесь, что вы владеете им. Настройка зависит от того, используете ли вы пользовательские домены с функцией частной конечной точки (предварительная версия):
Если выбрана запись A, создайте следующие записи DNS:
Тип записи Хост Значение а @
IP-адрес среды приложений контейнеров. TXT asuid
Код проверки домена. Если вы выбрали CNAME, создайте следующие записи DNS:
Тип записи Хост Значение CNAME Поддомен (например, www
)Созданный домен приложения-контейнера. TXT asuid.
за которым следует поддомен (например,asuid.www
)Код проверки домена.
Добавьте домен в приложение контейнера.
az containerapp hostname add \ --hostname $DOMAIN_NAME \ -g $RESOURCE_GROUP \ -n $CONTAINER_APP
Настройте управляемый сертификат и привязите домен к приложению контейнера.
az containerapp hostname bind \ --hostname $DOMAIN_NAME \ -g $RESOURCE_GROUP \ -n $CONTAINER_APP \ --environment $ENVIRONMENT \ --validation-method <VALIDATION_METHOD>
Если вы настраиваете запись A, замените
<VALIDATION_METHOD>
наHTTP
.Если вы настраиваете CNAME, замените
<VALIDATION_METHOD>
наCNAME
.
Может потребоваться несколько минут для выдачи сертификата и добавления домена в приложение контейнера.
После завершения операции перейдите к домену, чтобы убедиться, что она доступна.