Имена пользовательских доменов и создание собственных сертификатов в приложениях контейнеров Azure
Приложения контейнеров Azure позволяют привязать один или несколько пользовательских доменов к приложению-контейнеру.
- Каждое доменное имя должно быть связано с TLS/SSL-сертификатом. Вы можете отправить собственный сертификат или использовать бесплатный управляемый сертификат.
- Сертификаты применяются к среде приложения-контейнера и привязаны к отдельным приложениям контейнеров. Для добавления сертификатов необходимо иметь доступ на основе ролей к среде.
- Требуются сертификаты домена SNI (идентификация имен сервера).
- Для приложения-контейнера необходимо включить входящий трафик.
Примечание.
Если настроить суффикс пользовательской среды DNS (система доменных имен), вы не можете добавить личный домен, содержащий этот суффикс в приложение контейнера.
Добавление личного домена и сертификата
Внимание
Если вы используете новый сертификат, для отправки в Azure должен быть доступен существующий файл сертификата домена SNI.
Перейдите к приложению-контейнеру в портал Azure
Убедитесь, что в приложении включен входящий трафик, выбрав входящий трафик в разделе "Параметры ". Если входящий трафик не включен, включите его с помощью следующих действий:
- Установите для параметра "Входящий трафик 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 env certificate upload \ -g $RESOURCE_GROUP \ --name $ENVIRONMENT \ --certificate-file $CERTIFICATE_LOCAL_PATH \ --password $CERTIFICATE_PASSWORD \ --certificate-name $CERTIFICATE_LOWERCASE_NAME
Привязка сертификата и домена к приложению контейнера.
az containerapp hostname bind \ --hostname $DOMAIN_NAME \ -g $RESOURCE_GROUP \ -n $CONTAINER_APP \ --environment $ENVIRONMENT \ --certificate $CERTIFICATE_LOWERCASE_NAME \ --validation-method <VALIDATION_METHOD>
Если вы настраиваете запись A, замените
<VALIDATION_METHOD>
наHTTP
.Если вы настраиваете CNAME, замените
<VALIDATION_METHOD>
наCNAME
.
Может потребоваться несколько минут для выдачи сертификата и добавления домена в приложение контейнера.
После завершения операции перейдите к домену, чтобы убедиться, что она доступна.
Управление сертификатами
Вы можете управлять сертификатами с помощью среды "Приложения контейнеров" или с помощью отдельного приложения контейнера.
Среда
Окно "Сертификаты " среды "Приложения контейнеров" представляет таблицу всех сертификатов, связанных с средой.
Вы можете управлять сертификатами с помощью следующих действий:
Действие | Description |
---|---|
Добавить | Выберите ссылку "Добавить сертификат", чтобы добавить новый сертификат. |
Удаление | Щелкните значок корзины, чтобы удалить сертификат. |
Возобновление | Поле состояния работоспособности таблицы указывает, что срок действия сертификата истекает в течение 60 дней после истечения срока действия. Чтобы обновить сертификат, выберите ссылку "Обновить сертификат ", чтобы отправить новый сертификат. |
Контейнерное приложение
Окно "Пользовательские домены" приложения-контейнера представляет список пользовательских доменов , связанных с приложением контейнера.
Вы можете управлять сертификатами для отдельного доменного имени, нажав кнопку с многоточием (...), которая открывает окно привязки сертификата. В следующем окне можно выбрать сертификат для привязки к выбранному доменному имени.