Поделиться через


Имена пользовательских доменов и бесплатные управляемые сертификаты в приложениях контейнеров Azure

Приложения контейнеров Azure позволяют привязать один или несколько пользовательских доменов к приложению-контейнеру. Вы можете автоматически настроить бесплатный управляемый сертификат для личного домена.

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

Примечание.

Если настроить суффикс пользовательской среды DNS, в приложение контейнера нельзя добавить личный домен, содержащий этот суффикс.

Требования к бесплатному сертификату

Приложения контейнеров Azure предоставляют бесплатный управляемый сертификат для личного домена. Без каких-либо действий, необходимых от вас, этот сертификат TLS/SSL-сервера автоматически обновляется, пока ваше приложение продолжает соответствовать требованиям к управляемым сертификатам.

Для этого необходимы следующие компоненты:

  • Включите http ingress и убедитесь, что приложение-контейнер является общедоступным.

  • Должна иметь запись A для вершинных доменов, указывающих на IP-адрес среды контейнеров.

  • Установите запись CNAME для поддоменов, которые сопоставляются непосредственно с автоматически созданным доменным именем приложения контейнера. Сопоставление с промежуточным значением CNAME блокирует выдачу и возобновление действия сертификата. Примерами значений CNAME являются диспетчеры трафика, Cloudflare и аналогичные службы.

Примечание.

Чтобы обеспечить успешное выполнение выдачи сертификата и последующих обновлений, все требования должны выполняться всегда при назначении управляемого сертификата.

Добавление личного домена и управляемого сертификата

  1. Перейдите к приложению-контейнеру в портал Azure

  2. Убедитесь, что в приложении включен входящий трафик HTTP, выбрав входящий трафик в разделе "Параметры ". Если входящий трафик не включен, включите его с помощью следующих действий:

    1. Установите для параметра "Входящий трафик HTTP" значение "Включено".
    2. Выберите нужный параметр трафика входящего трафика .
    3. Введите целевой порт.
    4. Выберите Сохранить.
  3. В разделе "Параметры" выберите "Личные домены".

  4. Нажмите кнопку Добавить личный домен.

  5. В окне "Добавление личного домена и сертификата" в TLS/SSL-сертификате выберите управляемый сертификат.

  6. В домене введите домен, который вы хотите добавить.

  7. Выберите тип записи hostname в зависимости от типа домена.

    Тип домена Тип записей Примечания.
    Вершинный домен Запись A Основной домен — это домен на корневом уровне домена. Например, если ваша зона DNS имеет contoso.comзначение, то contoso.com является доменом вершины.
    Поддомен CNAME Поддомен — это домен, который является частью другого домена. Например, если ваша зона DNS является contoso.com, то www.contoso.com это пример поддомена, который можно настроить в зоне.
  8. Используя поставщик DNS, на котором размещен домен, создайте записи DNS на основе выбранного типа записи имени узла, используя значения, показанные в разделе проверки домена. Записи указывают домен в приложение контейнера и убедитесь, что вы являетесь владельцем.

    • Если выбрана запись A, создайте следующие записи DNS:

      Тип записи Хост Значение
      а @ IP-адрес среды приложений контейнеров
      TXT asuid Код проверки домена
    • Если вы выбрали CNAME, создайте следующие записи DNS:

      Тип записи Хост Значение
      CNAME Поддомен (например, www) Автоматически созданный <appname>.<region>.azurecontainerapps.io домен приложения-контейнера
      TXT asuid. за которым следует поддомен (например, asuid.www) Код проверки домена
  9. Выберите Проверить.

  10. После успешной проверки нажмите кнопку "Добавить".

    Может потребоваться несколько минут для выдачи сертификата и добавления домена в приложение контейнера.

  11. После завершения операции вы увидите доменное имя в списке пользовательских доменов с состоянием Secured. Перейдите к домену, чтобы убедиться, что он доступен.

Контейнерные приложения поддерживают домены вершин и поддомены. Для каждого типа домена требуется другой тип записи DNS и метод проверки.

Тип домена Тип записи Метод проверки Примечания.
Вершинный домен Запись A HTTP Основной домен — это домен на корневом уровне домена. Например, если ваша зона DNS имеет contoso.comзначение, то contoso.com является доменом вершины.
Поддомен CNAME CNAME Поддомен — это домен, который является частью другого домена. Например, если ваша зона DNS является contoso.com, то www.contoso.com это пример поддомена, который можно настроить в зоне.
  1. Войдите в Azure с помощью Azure CLI.

    az login
    
  2. Затем установите расширение Контейнеров приложений Azure для CLI.

    az extension add --name containerapp --upgrade
    
  3. Убедитесь, что в приложении-контейнере включена входящий трафик 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> портом, на который прослушивается приложение контейнера.

  4. Если вы настраиваете домен вершины, получите IP-адрес среды приложений контейнеров.

    az containerapp env show -n <ENVIRONMENT_NAME> -g <RESOURCE_GROUP_NAME> -o tsv --query "properties.staticIp"
    

    Замените <ENVIRONMENT_NAME> именем среды и <RESOURCE_GROUP_NAME> именем группы ресурсов, содержащей вашу среду.

  5. Если вы настраиваете поддомен, получите автоматически созданный домен приложения контейнера.

    az containerapp show -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME> -o tsv --query "properties.configuration.ingress.fqdn"
    

    Замените <CONTAINER_APP_NAME> именем приложения-контейнера и <RESOURCE_GROUP_NAME> именем группы ресурсов, содержащей приложение контейнера.

  6. Получите код проверки домена.

    az containerapp show -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME> -o tsv --query "properties.customDomainVerificationId"
    

    Замените <CONTAINER_APP_NAME> именем приложения-контейнера и <RESOURCE_GROUP_NAME> именем группы ресурсов, содержащей приложение контейнера.

  7. Используя поставщик DNS, на котором размещен домен, создайте записи DNS на основе выбранного типа записи, используя значения, отображаемые в разделе проверки домена. Записи указывают домен в приложение контейнера и убедитесь, что вы владеете им.

    • Если вы настраиваете домен вершины, создайте следующие записи DNS:

      Тип записи Хост Значение
      а @ IP-адрес среды приложений контейнеров
      TXT asuid Код проверки домена
    • Если вы настраиваете поддомен, создайте следующие записи DNS:

      Тип записи Хост Значение
      CNAME Поддомен (например, www) Автоматически созданный домен приложения-контейнера
      TXT asuid. за которым следует поддомен (например, asuid.www) Код проверки домена
  8. Добавьте домен в приложение контейнера.

    az containerapp hostname add --hostname <DOMAIN_NAME> -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME>
    

    Замените <DOMAIN_NAME> доменное имя, которое вы хотите добавить, именем группы ресурсов, <RESOURCE_GROUP_NAME> содержащей приложение контейнера, и <CONTAINER_APP_NAME> именем приложения контейнера.

  9. Настройте управляемый сертификат и привязите домен к приложению контейнера.

    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.

    Может потребоваться несколько минут для выдачи сертификата и добавления домена в приложение контейнера.

  10. После завершения операции перейдите к домену, чтобы убедиться, что она доступна.

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