Nomes de domínio personalizado e certificados personalizados nos Aplicativos de Contêiner do Azure

Os Aplicativos de Contêiner do Azure permitem associar um ou mais domínios personalizados a um aplicativo de contêiner. Você pode configurar automaticamente um certificado gerenciado gratuito para seu domínio personalizado.

Se você quiser configurar um domínio personalizado usando seu próprio certificado, consulte Nomes de domínio personalizados e certificados nos Aplicativos de Contêiner do Azure.

Observação

Se você configurar um sufixo DNS de ambiente personalizado, não poderá adicionar um domínio personalizado que contenha esse sufixo ao aplicativo de contêiner.

Requisitos de certificado gratuito

Os Aplicativos de Contêiner do Azure fornecem um certificado gerenciado gratuito para seu domínio personalizado. Sem nenhuma ação necessária de você, esse certificado de servidor TLS/SSL é renovado automaticamente, desde que seu aplicativo continue a atender aos requisitos de certificados gerenciados.

Esses requisitos são:

  • Habilite a entrada HTTP e verifique se o aplicativo de contêiner está acessível publicamente.

  • Deve ter um registro A para domínios apex que apontem para o endereço IP do ambiente de Aplicativos de Contêiner.

  • Estabeleça um registro CNAME para subdomínios que mapeia diretamente para o nome de domínio gerado automaticamente pelo aplicativo contêiner. O mapeamento para um valor de CNAME intermediário bloqueará a emissão e a renovação do certificado. Exemplos de valores CNAME são gerenciadores de tráfego, Cloudflare e serviços semelhantes.

Observação

Para garantir que a emissão de certificados e as renovações subsequentes prossiga com êxito, todos os requisitos devem ser atendidos sempre que o certificado gerenciado for atribuído.

Adicionar um domínio personalizado e um certificado personalizado

  1. Navegue até o aplicativo de contêiner no portal do Microsoft Azure

  2. Verifique se o seu aplicativo tem a entrada habilitada selecionando Entrada na seção Configurações. Se a entrada não estiver habilitada, habilite-a com estas etapas:

    1. Defina Entrada HTTP como Habilitada.
    2. Selecione a configuração de Tráfego de entrada desejada.
    3. Insira a Porta de destino.
    4. Selecione Salvar.
  3. Na seção Configurações, selecione Domínio personalizado.

  4. Selecione Adicionar domínio personalizado.

  5. Na janela Adicionar domínio e certificado personalizados, no certificado TLS/SSL, selecione Certificado gerenciado.

  6. No domínio, insira o domínio que você deseja adicionar.

  7. Selecione o Tipo de registro Nome do host com base no tipo do domínio.

    Tipo de domínio Tipo de registro Observações
    Domínio Apex Registro A Um domínio apex é um domínio no nível raiz do seu domínio. Por exemplo, se a zona DNS for contoso.com, contoso.com será o domínio apex.
    Subdomínio CNAME Um subdomínio é um domínio que faz parte de outro domínio. Por exemplo, se a zona DNS for contoso.com, www.contoso.com será um exemplo de um subdomínio que pode ser configurado na zona.
  8. Usando o provedor DNS que está hospedando seu domínio, crie registros DNS com base no tipo de registro Nome do host selecionado usando os valores mostrados na seção Validação de domínio. Os registros apontam o domínio para seu aplicativo de contêiner e verificam se você é o proprietário.

    • Se você selecionou Um registro, crie os seguintes registros DNS:

      Tipo de registro Host Valor
      Um @ O endereço IP do seu ambiente de Aplicativos de Contêiner
      TXT asuid O código de verificação de domínio
    • Se você selecionou CNAME, crie os seguintes registros DNS:

      Tipo de registro Host Valor
      CNAME O subdomínio (por exemplo, www) O domínio gerado <appname>.<region>.azurecontainerapps.io automaticamente do aplicativo de contêiner
      TXT asuid. seguido do subdomínio (por exemplo, asuid.www) O código de verificação de domínio
  9. Selecione Validar.

  10. Depois que a validação for bem-sucedida, selecione Adicionar.

    Pode levar vários minutos para emitir o certificado e adicionar o domínio ao seu aplicativo de contêiner.

  11. Depois que a operação for concluída, você verá seu nome de domínio na lista de domínios personalizados com um status de Protegido. Navegue até seu domínio para verificar se ele está acessível.

Os Aplicativos de Contêiner dão suporte a domínios apex e subdomínios. Cada tipo de domínio requer um tipo de registro DNS diferente e um método de validação.

Tipo de domínio Tipo de registro Método de validação Observações
Domínio Apex Registro A HTTP Um domínio apex é um domínio no nível raiz do seu domínio. Por exemplo, se a zona DNS for contoso.com, contoso.com será o domínio apex.
Subdomínio CNAME CNAME Um subdomínio é um domínio que faz parte de outro domínio. Por exemplo, se a zona DNS for contoso.com, www.contoso.com será um exemplo de um subdomínio que pode ser configurado na zona.
  1. Faça logon no Azure com a CLI do Azure.

    az login
    
  2. Em seguida, instale a extensão dos Aplicativos de Contêiner do Azure para a CLI.

    az extension add --name containerapp --upgrade
    
  3. Verifique se o aplicativo de contêiner tem a entrada HTTP habilitada.

    az containerapp ingress show -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME>
    

    Se a entrada não estiver habilitada, habilite-a com estas etapas:

    az containerapp ingress enable -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME> \
            --type external --target-port <TARGET_PORT> --transport auto
    

    Substitua <CONTAINER_APP_NAME> pelo nome do aplicativo de contêiner, <RESOURCE_GROUP_NAME> pelo nome do grupo de recursos que contém seu aplicativo de contêiner e <TARGET_PORT> pela porta em que o aplicativo de contêiner está escutando.

  4. Se você estiver configurando um domínio apex, obtenha o endereço IP do seu ambiente de Aplicativos de Contêiner.

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

    Substitua <ENVIRONMENT_NAME> pelo nome do seu ambiente e <RESOURCE_GROUP_NAME> pelo nome do grupo de recursos que contém seu ambiente.

  5. Se você estiver configurando um subdomínio, obtenha o domínio gerado automaticamente do aplicativo de contêiner.

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

    Substitua <CONTAINER_APP_NAME> pelo nome do aplicativo de contêiner e <RESOURCE_GROUP_NAME> pelo nome do grupo de recursos que contém o aplicativo de contêiner.

  6. Obtenha o código de verificação de domínio.

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

    Substitua <CONTAINER_APP_NAME> pelo nome do aplicativo de contêiner e <RESOURCE_GROUP_NAME> pelo nome do grupo de recursos que contém o aplicativo de contêiner.

  7. Usando o provedor DNS que está hospedando seu domínio, crie registros DNS com base no tipo de registro selecionado usando os valores mostrados na seção Validação de domínio. Os registros apontam o domínio para seu aplicativo de contêiner e verificam se você o possui.

    • Se você estiver configurando um domínio apex, crie os seguintes registros DNS:

      Tipo de registro Host Valor
      Um @ O endereço IP do seu ambiente de Aplicativos de Contêiner
      TXT asuid O código de verificação de domínio
    • Se você estiver configurando um subdomínio, crie os seguintes registros DNS:

      Tipo de registro Host Valor
      CNAME O subdomínio (por exemplo, www) O domínio gerado automaticamente do aplicativo de contêiner
      TXT asuid. seguido do subdomínio (por exemplo, asuid.www) O código de verificação de domínio
  8. Adicione o domínio ao seu aplicativo de contêiner.

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

    Substitua <DOMAIN_NAME> pelo nome de domínio que você deseja adicionar, <RESOURCE_GROUP_NAME> pelo nome do grupo de recursos que contém seu aplicativo de contêiner e <CONTAINER_APP_NAME> pelo nome do aplicativo de contêiner.

  9. Configure o certificado gerenciado e associe o domínio ao seu aplicativo de contêiner.

    az containerapp hostname bind --hostname <DOMAIN_NAME> -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --environment <ENVIRONMENT_NAME> --validation-method <VALIDATION_METHOD>
    

    Substitua <DOMAIN_NAME> pelo nome de domínio que você deseja adicionar, <RESOURCE_GROUP_NAME> pelo nome do grupo de recursos que contém seu aplicativo de contêiner, <CONTAINER_APP_NAME> pelo nome do aplicativo de contêiner e <ENVIRONMENT_NAME> pelo nome do seu ambiente.

    • Se você estiver configurando um registro A, substitua por <VALIDATION_METHOD>HTTP.
    • Se você estiver configurando um CNAME, substitua por <VALIDATION_METHOD>CNAME.

    Pode levar vários minutos para emitir o certificado e adicionar o domínio ao seu aplicativo de contêiner.

  10. Depois que a operação for concluída, navegue até seu domínio para verificar se ela está acessível.

Próximas etapas