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


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

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

  • Каждое доменное имя должно быть связано с TLS/SSL-сертификатом. Вы можете отправить собственный сертификат или использовать бесплатный управляемый сертификат.
  • Сертификаты применяются к среде приложения-контейнера и привязаны к отдельным приложениям контейнеров. Для добавления сертификатов необходимо иметь доступ на основе ролей к среде.
  • Требуются сертификаты домена SNI (идентификация имен сервера).
  • Для приложения-контейнера необходимо включить входящий трафик.

Примечание.

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

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

Внимание

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

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

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

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

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

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

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

  7. Выберите " Добавить сертификат".

  8. В окне "Добавление сертификата" в поле "Имя сертификата" введите имя этого сертификата.

  9. В разделе "Файл сертификата" найдите файл сертификата, который требуется отправить.

  10. Выберите Проверить.

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

  12. В окне "Добавление личного домена и сертификата" в окне "Сертификат" выберите только что добавленный сертификат.

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

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

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

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

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

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

  17. После завершения операции вы увидите доменное имя в списке пользовательских доменов с состоянием 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. Задайте следующие переменные среды. Замените <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> портом, на который прослушивается приложение контейнера.
  4. Убедитесь, что в приложении-контейнере включена входящий трафик 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
    
  5. Если вы настраиваете домен вершины, получите IP-адрес среды приложений контейнеров.

    az containerapp env show \
        -n $ENVIRONMENT \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.staticIp"
    
  6. Если вы настраиваете поддомен, получите автоматически созданный домен приложения контейнера.

    az containerapp show \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.configuration.ingress.fqdn"
    
  7. Получите код проверки домена.

    az containerapp show \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.customDomainVerificationId"
    
  8. Используя поставщик DNS, на котором размещен домен, создайте записи DNS на основе выбранного типа записи, используя значения, отображаемые в разделе проверки домена. Записи указывают домен в приложение контейнера и убедитесь, что вы владеете им. Настройка зависит от того, используете ли вы пользовательские домены с функцией частной конечной точки (предварительная версия):

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

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

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

    az containerapp env certificate upload \
        -g $RESOURCE_GROUP \
        --name $ENVIRONMENT \
        --certificate-file $CERTIFICATE_LOCAL_PATH \
        --password $CERTIFICATE_PASSWORD \
        --certificate-name $CERTIFICATE_LOWERCASE_NAME
    
  10. Привязка сертификата и домена к приложению контейнера.

    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.

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

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

Управление сертификатами

Вы можете управлять сертификатами с помощью среды "Приложения контейнеров" или с помощью отдельного приложения контейнера.

Среда

Окно "Сертификаты " среды "Приложения контейнеров" представляет таблицу всех сертификатов, связанных с средой.

Вы можете управлять сертификатами с помощью следующих действий:

Действие Description
Добавить Выберите ссылку "Добавить сертификат", чтобы добавить новый сертификат.
Удаление Щелкните значок корзины, чтобы удалить сертификат.
Возобновление Поле состояния работоспособности таблицы указывает, что срок действия сертификата истекает в течение 60 дней после истечения срока действия. Чтобы обновить сертификат, выберите ссылку "Обновить сертификат ", чтобы отправить новый сертификат.

Контейнерное приложение

Окно "Пользовательские домены" приложения-контейнера представляет список пользовательских доменов , связанных с приложением контейнера.

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

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