Noms de domaine et certificats gérés gratuits personnalisés dans Azure Container Apps

Azure Container Apps vous permet de lier un ou plusieurs domaines personnalisés à une application conteneur. Vous pouvez configurer automatiquement un certificat managé gratuit pour votre domaine personnalisé.

Si vous souhaitez configurer un domaine personnalisé à l’aide de votre propre certificat, consultez Noms de domaine et certificats personnalisés dans Azure Container Apps.

Remarque

Si vous configurez un suffixe DNS d’environnement personnalisé, vous ne pouvez pas ajouter un domaine personnalisé qui contient ce suffixe à votre application conteneur.

Conditions requises pour les certificats gratuits

Azure Container Apps fournit un certificat managé gratuit pour votre domaine personnalisé. Sans aucune action requise de votre part, ce certificat de serveur TLS/SSL est automatiquement renouvelé tant que votre application continue de répondre aux exigences relatives aux certificats managés.

Les conditions requises sont :

  • Activez l’entrée HTTP et assurez-vous que votre application conteneur est accessible publiquement.

  • Doit avoir un enregistrement A pour les domaines apex qui pointe vers l’adresse IP de votre environnement Container Apps.

  • Établissez un enregistrement CNAME pour les sous-domaines qui correspondent directement au nom de domaine généré automatiquement par l’application conteneur. Le mappage à une valeur CNAME intermédiaire empêchera l’émission et le renouvellement du certificat. Parmi les exemples de valeurs CNAME, citons les gestionnaires de trafic, Cloudflare et des services similaires.

Remarque

Pour garantir le bon déroulement de l’émission du certificat et des renouvellements suivants, toutes les conditions requises doivent être remplies à tout moment lorsque le certificat managé est affecté.

Ajouter un domaine personnalisé et certificat managé

  1. Accédez à la page de votre application conteneur dans le portail Azure

  2. Vérifiez que l’entrée HTTP de votre application est activée en sélectionnant Entrée dans la section Paramètres. Si l’entrée n’est pas activée, activez-la avec les étapes suivantes :

    1. Définissez Entrée HTTP sur Activée.
    2. Sélectionnez le paramètre de trafic d’entrée souhaité.
    3. Entrez le port cible.
    4. Sélectionnez Enregistrer.
  3. Dans la section Paramètres, sélectionnez Domaines personnalisées.

  4. Sélectionnez Ajouter un domaine personnalisé.

  5. Dans la fenêtre Ajouter un domaine et un certificat personnalisés, dans certificat TLS/SSL, sélectionnez Certificat managé.

  6. Dans domaine, entrez le domaine que vous souhaitez ajouter.

  7. Sélectionnez le type d’enregistrement Nom d’hôte en fonction du type de votre domaine.

    Type de domaine Type d’enregistrement Notes
    Domaine apex Enregistrement A Un domaine apex est un domaine au niveau racine de votre domaine. Par exemple, si votre zone DNS est contoso.com, contoso.com est le domaine apex.
    Sous-domaine CNAME Un sous-domaine est un domaine qui fait partie d’un autre domaine. Par exemple, si votre zone DNS est contoso.com, www.contoso.com est un exemple d’un sous-domaine qui peut être configuré dans la zone.
  8. À l’aide du fournisseur DNS qui héberge votre domaine, créez des enregistrements DNS en fonction du type d’enregistrement Hostname que vous avez sélectionné à l’aide des valeurs indiquées dans la section Validation du domaine. Les enregistrements pointent le domaine vers votre application conteneur et vérifient que vous en êtes le propriétaire.

    • Si vous avez sélectionné un enregistrement, créez les enregistrements DNS suivants :

      Type d’enregistrement Host Valeur
      A @ Adresse IP de votre environnement Container Apps
      TXT asuid Code de vérification du domaine
    • Si vous avez sélectionné CNAME, créez les enregistrements DNS suivants :

      Type d’enregistrement Host Valeur
      CNAME Sous-domaine (par exemple, www) Domaine généré automatiquement <appname>.<region>.azurecontainerapps.io de votre application conteneur
      TXT asuid. suivi du sous-domaine (par exemple, asuid.www) Code de vérification du domaine
  9. Sélectionnez Valider.

  10. Une fois la validation réussie, sélectionnez Ajouter.

    L’émission du certificat et l’ajout du domaine à votre application conteneur peuvent prendre plusieurs minutes.

  11. Une fois l’opération terminée, vous voyez votre nom de domaine dans la liste des domaines personnalisés avec le statut Sécurisé. Accédez à votre domaine pour vérifier qu’il est accessible.

Container Apps prend en charge les domaines et sous-domaines apex. Chaque type de domaine nécessite un type d’enregistrement DNS et une méthode de validation différents.

Type de domaine Type d’enregistrement Mode de contrôle Notes
Domaine apex Enregistrement A HTTP Un domaine apex est un domaine au niveau racine de votre domaine. Par exemple, si votre zone DNS est contoso.com, contoso.com est le domaine apex.
Sous-domaine CNAME CNAME Un sous-domaine est un domaine qui fait partie d’un autre domaine. Par exemple, si votre zone DNS est contoso.com, www.contoso.com est un exemple d’un sous-domaine qui peut être configuré dans la zone.
  1. Connectez-vous à Azure avec Azure CLI.

    az login
    
  2. Ensuite, installez l’extension Azure Container Apps pour l’interface CLI.

    az extension add --name containerapp --upgrade
    
  3. Vérifiez que l’entrée HTTP est activée dans votre application conteneur.

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

    Si l’entrée n’est pas activée, activez-la avec les étapes suivantes :

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

    Remplacez <CONTAINER_APP_NAME> avec le nom de votre application conteneur, <RESOURCE_GROUP_NAME> avec le nom du groupe de ressources qui contient votre application conteneur et <TARGET_PORT> avec le port sur lequel votre application conteneur écoute.

  4. Si vous configurez un domaine apex, obtenez l’adresse IP de votre environnement Container Apps.

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

    Remplacez <ENVIRONMENT_NAME> avec le nom de votre environnement et <RESOURCE_GROUP_NAME> avec le nom du groupe de ressources qui contient votre environnement.

  5. Si vous configurez un sous-domaine, obtenez le domaine généré automatiquement de votre application conteneur.

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

    Remplacez <CONTAINER_APP_NAME> avec le nom de votre application conteneur et <RESOURCE_GROUP_NAME> avec le nom du groupe de ressources qui contient votre application conteneur.

  6. Obtenez le code de vérification du domaine.

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

    Remplacez <CONTAINER_APP_NAME> avec le nom de votre application conteneur et <RESOURCE_GROUP_NAME> avec le nom du groupe de ressources qui contient votre application conteneur.

  7. À l’aide du fournisseur DNS qui héberge votre domaine, créez des enregistrements DNS en fonction du type d’enregistrement que vous avez sélectionné à l’aide des valeurs indiquées dans la section Validation du domaine. Les enregistrements pointent le domaine vers votre application conteneur et vérifient que vous en êtes propriétaire.

    • Si vous configurez un domaine apex, créez les enregistrements DNS suivants :

      Type d’enregistrement Host Valeur
      A @ Adresse IP de votre environnement Container Apps
      TXT asuid Code de vérification du domaine
    • Si vous configurez un sous-domaine, créez les enregistrements DNS suivants :

      Type d’enregistrement Host Valeur
      CNAME Sous-domaine (par exemple, www) Domaine généré automatiquement de votre application conteneur
      TXT asuid. suivi du sous-domaine (par exemple, asuid.www) Code de vérification du domaine
  8. Ajoutez le domaine à votre application conteneur.

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

    Remplacez <DOMAIN_NAME> avec le nom de domaine que vous voulez ajouter, <RESOURCE_GROUP_NAME>avec le nom du groupe de ressources qui contient votre application conteneur, et <CONTAINER_APP_NAME> avec le nom de votre application conteneur.

  9. Configurez le certificat managé et liez le domaine à votre application conteneur.

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

    Remplacez <DOMAIN_NAME> avec le nom de domaine que vous voulez ajouter, <RESOURCE_GROUP_NAME>avec le nom du groupe de ressources qui contient votre application conteneur, <CONTAINER_APP_NAME> avec le nom de votre application conteneur, et <ENVIRONMENT_NAME> avec le nom de votre environnement.

    • Si vous configurez un enregistrement A, remplacez <VALIDATION_METHOD>par HTTP.
    • Si vous configurez un CNAME, remplacez <VALIDATION_METHOD> par CNAME.

    L’émission du certificat et l’ajout du domaine à votre application conteneur peuvent prendre plusieurs minutes.

  10. Une fois l’opération terminée, accédez à votre domaine pour vérifier qu’il est accessible.

Étapes suivantes