Dela via


Anpassade domännamn och kostnadsfria hanterade certifikat i Azure Container Apps

Med Azure Container Apps kan du binda en eller flera anpassade domäner till en containerapp. Du kan automatiskt konfigurera ett kostnadsfritt hanterat certifikat för din anpassade domän.

Om du vill konfigurera en anpassad domän med ditt eget certifikat kan du läsa Anpassade domännamn och certifikat i Azure Container Apps.

Kommentar

Om du konfigurerar ett DNS-suffix för anpassad miljö kan du inte lägga till en anpassad domän som innehåller det här suffixet i containerappen.

Krav för kostnadsfritt certifikat

Azure Container Apps tillhandahåller ett kostnadsfritt hanterat certifikat för din anpassade domän. Utan någon åtgärd som krävs från dig förnyas det här TLS/SSL-servercertifikatet automatiskt så länge appen fortsätter att uppfylla kraven för hanterade certifikat.

Kraven är:

  • Containerappen har HTTP-ingress aktiverad och är offentligt tillgänglig.

  • För apex-domäner måste du ha en A-post som pekar på CONTAINER Apps-miljöns IP-adress.

  • För underdomäner måste du ha en CNAME-post mappad direkt till containerappens automatiskt genererade domännamn. Mappning till ett mellanliggande CNAME-värde blockerar utfärdande och förnyelse av certifikat. Exempel på CNAME-värden är trafikhanterare, Cloudflare och liknande tjänster.

Kommentar

För att säkerställa att certifikatutfärdandet och efterföljande förnyelser fortsätter måste alla krav alltid uppfyllas när det hanterade certifikatet tilldelas.

Lägga till en anpassad domän och ett hanterat certifikat

  1. Gå till containerappen i Azure-portalen

  2. Kontrollera att din app har HTTP-ingress aktiverad genom att välja Ingress i avsnittet Inställningar. Om ingress inte är aktiverat aktiverar du det med följande steg:

    1. Ange HTTP-ingress till Aktiverad.
    2. Välj önskad inställning för inkommande trafik .
    3. Ange målporten.
    4. Välj Spara.
  3. Under avsnittet Inställningar väljer du Anpassade domäner.

  4. Välj Lägg till en anpassad domän.

  5. I fönstret Lägg till anpassad domän och certifikat i TLS/SSL-certifikat väljer du Hanterat certifikat.

  6. I domän anger du den domän som du vill lägga till.

  7. Välj posttypen Värdnamn baserat på typen av domän.

    Domäntyp Posttyp Kommentar
    Apex-domän A-post En apex-domän är en domän på rotnivån för din domän. Om din DNS-zon till exempel är contoso.comär den contoso.com apex-domänen.
    Underdomän CNAME En underdomän är en domän som ingår i en annan domän. Om dns-zonen till exempel är contoso.comär det www.contoso.com ett exempel på en underdomän som kan konfigureras i zonen.
  8. Med hjälp av DNS-providern som är värd för din domän skapar du DNS-poster baserat på den posttyp för värdnamn som du valde med hjälp av värdena som visas i avsnittet Domänverifiering . Posterna pekar domänen till containerappen och kontrollerar att du är ägare.

    • Om du har valt A-post skapar du följande DNS-poster:

      Posttyp Host Värde
      A @ IP-adressen för din Container Apps-miljö
      TXT asuid Domänverifieringskoden
    • Om du har valt CNAME skapar du följande DNS-poster:

      Posttyp Host Värde
      CNAME Underdomänen (till exempel www) Den automatiskt genererade <appname>.<region>.azurecontainerapps.io domänen för din containerapp
      TXT asuid. följt av underdomänen (till exempel asuid.www) Domänverifieringskoden
  9. Välj validera.

  10. När valideringen har slutförts väljer du Lägg till.

    Det kan ta flera minuter att utfärda certifikatet och lägga till domänen i containerappen.

  11. När åtgärden är klar visas domännamnet i listan över anpassade domäner med statusen Skyddad. Gå till domänen för att kontrollera att den är tillgänglig.

Container Apps stöder apex-domäner och underdomäner. Varje domäntyp kräver en annan DNS-posttyp och valideringsmetod.

Domäntyp Posttyp Valideringsmetod Kommentar
Apex-domän A-post HTTP En apex-domän är en domän på rotnivån för din domän. Om din DNS-zon till exempel är contoso.comär den contoso.com apex-domänen.
Underdomän CNAME CNAME En underdomän är en domän som ingår i en annan domän. Om dns-zonen till exempel är contoso.comär det www.contoso.com ett exempel på en underdomän som kan konfigureras i zonen.
  1. Logga in på Azure med Azure CLI.

    az login
    
  2. Installera sedan Azure Container Apps-tillägget för CLI.

    az extension add --name containerapp --upgrade
    
  3. Kontrollera att din containerapp har HTTP-ingress aktiverad.

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

    Om ingress inte är aktiverat aktiverar du det med följande steg:

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

    Ersätt <CONTAINER_APP_NAME> med namnet på containerappen med <RESOURCE_GROUP_NAME> namnet på den resursgrupp som innehåller din containerapp och <TARGET_PORT> med porten som containerappen lyssnar på.

  4. Om du konfigurerar en apex-domän hämtar du IP-adressen för din Container Apps-miljö.

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

    Ersätt <ENVIRONMENT_NAME> med namnet på din miljö och <RESOURCE_GROUP_NAME> med namnet på den resursgrupp som innehåller din miljö.

  5. Om du konfigurerar en underdomän hämtar du containerappens automatiskt genererade domän.

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

    Ersätt <CONTAINER_APP_NAME> med namnet på containerappen och <RESOURCE_GROUP_NAME> med namnet på den resursgrupp som innehåller din containerapp.

  6. Hämta domänverifieringskoden.

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

    Ersätt <CONTAINER_APP_NAME> med namnet på containerappen och <RESOURCE_GROUP_NAME> med namnet på den resursgrupp som innehåller din containerapp.

  7. Använd DNS-providern som är värd för din domän och skapa DNS-poster baserat på den posttyp som du valde med hjälp av de värden som visas i avsnittet Domänverifiering . Posterna pekar domänen till containerappen och kontrollerar att du äger den.

    • Om du konfigurerar en apex-domän skapar du följande DNS-poster:

      Posttyp Host Värde
      A @ IP-adressen för din Container Apps-miljö
      TXT asuid Domänverifieringskoden
    • Om du konfigurerar en underdomän skapar du följande DNS-poster:

      Posttyp Host Värde
      CNAME Underdomänen (till exempel www) Den automatiskt genererade domänen för din containerapp
      TXT asuid. följt av underdomänen (till exempel asuid.www) Domänverifieringskoden
  8. Lägg till domänen i containerappen.

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

    Ersätt <DOMAIN_NAME> med det domännamn som du vill lägga till, <RESOURCE_GROUP_NAME> med namnet på den resursgrupp som innehåller din containerapp och <CONTAINER_APP_NAME> med namnet på containerappen.

  9. Konfigurera det hanterade certifikatet och binda domänen till din containerapp.

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

    Ersätt <DOMAIN_NAME> med det domännamn som du vill lägga till, <RESOURCE_GROUP_NAME> med namnet på den resursgrupp som innehåller din containerapp, <CONTAINER_APP_NAME> med namnet på containerappen och <ENVIRONMENT_NAME> med namnet på din miljö.

    • Om du konfigurerar en A-post ersätter <VALIDATION_METHOD> du med HTTP.
    • Om du konfigurerar en CNAME ersätter <VALIDATION_METHOD> du med CNAME.

    Det kan ta flera minuter att utfärda certifikatet och lägga till domänen i containerappen.

  10. När åtgärden är klar går du till din domän för att kontrollera att den är tillgänglig.

Nästa steg