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
Gå till containerappen i Azure-portalen
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:
- Ange HTTP-ingress till Aktiverad.
- Välj önskad inställning för inkommande trafik .
- Ange målporten.
- Välj Spara.
Under avsnittet Inställningar väljer du Anpassade domäner.
Välj Lägg till en anpassad domän.
I fönstret Lägg till anpassad domän och certifikat i TLS/SSL-certifikat väljer du Hanterat certifikat.
I domän anger du den domän som du vill lägga till.
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 dencontoso.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 detwww.contoso.com
ett exempel på en underdomän som kan konfigureras i zonen.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 containerappTXT asuid.
följt av underdomänen (till exempelasuid.www
)Domänverifieringskoden
Välj validera.
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.
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. |
Logga in på Azure med Azure CLI.
az login
Installera sedan Azure Container Apps-tillägget för CLI.
az extension add --name containerapp --upgrade
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å.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ö.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.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.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 exempelasuid.www
)Domänverifieringskoden
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.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 medHTTP
. - Om du konfigurerar en CNAME ersätter
<VALIDATION_METHOD>
du medCNAME
.
Det kan ta flera minuter att utfärda certifikatet och lägga till domänen i containerappen.
- Om du konfigurerar en A-post ersätter
När åtgärden är klar går du till din domän för att kontrollera att den är tillgänglig.