Dela via


Anpassade domännamn och ta med egna certifikat i Azure Container Apps

Med Azure Container Apps kan du binda en eller flera anpassade domäner till en containerapp.

  • Varje domännamn måste associeras med ett TLS/SSL-certifikat. Du kan ladda upp ditt eget certifikat eller använda ett kostnadsfritt hanterat certifikat.
  • Certifikat tillämpas på containerappmiljön och är bundna till enskilda containerappar. Du måste ha rollbaserad åtkomst till miljön för att kunna lägga till certifikat.
  • SNI-domäncertifikat (servernamnsidentifiering) krävs.
  • Ingress måste vara aktiverat för containerappen.

Kommentar

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

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

Viktigt!

Om du använder ett nytt certifikat måste du ha en befintlig SNI-domäncertifikatfil tillgänglig för uppladdning till Azure.

  1. Gå till containerappen i Azure Portal

  2. Kontrollera att din app har ingress aktiverat 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 knappen Lägg till anpassad domän.

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

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

  7. Välj Lägg till ett certifikat.

  8. I fönstret Lägg till certifikat i Certifikatnamn anger du ett namn för det här certifikatet.

  9. I avsnittet Certifikatfil bläddrar du efter den certifikatfil som du vill ladda upp.

  10. Välj validera.

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

  12. I fönstret Lägg till anpassad domän och certifikat går du till Certifikat och väljer det certifikat som du nyss lade till.

  13. 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 (Domain Name System) 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.
  14. 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 äger den. Konfigurationen beror på om du använder anpassade domäner med funktionen privat slutpunkt (förhandsversion):

    • 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 genererade domänen för din containerapp.
      TXT asuid. följt av underdomänen (till exempel asuid.www) Domänverifieringskoden.
  15. Välj knappen Verifiera.

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

  17. 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.

Kommentar

För containerappar i interna Container Apps-miljöer krävs extra konfiguration för att använda anpassade domäner med inkommande VNET-omfång.

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. Ange följande miljövariabler. <PLACEHOLDERS> Ersätt med dina värden.

    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>"
    
    • Ersätt <CERTIFICATE_LOCAL_PATH> med den lokala sökvägen till certifikatfilen.
    • Ersätt <CERTIFICATE_LOWERCASE_NAME> med ett certifikatnamn med gemener som är unikt i miljön.
    • Ersätt <TARGET_PORT> med den port som containerappen lyssnar på.
  4. Kontrollera att din containerapp har HTTP-ingress aktiverad.

    az containerapp ingress show \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP
    

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

    az containerapp ingress enable \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP \
        --type external \
        --target-port $TARGET_PORT \
        --transport auto
    
  5. Om du konfigurerar en apex-domän hämtar du IP-adressen för din Container Apps-miljö.

    az containerapp env show \
        -n $ENVIRONMENT \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.staticIp"
    
  6. Om du konfigurerar en underdomän hämtar du containerappens automatiskt genererade domän.

    az containerapp show \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.configuration.ingress.fqdn"
    
  7. Hämta domänverifieringskoden.

    az containerapp show \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.customDomainVerificationId"
    
  8. 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. Konfigurationen beror på om du använder anpassade domäner med funktionen privat slutpunkt (förhandsversion):

    • 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 genererade domänen för din containerapp.
      TXT asuid. följt av underdomänen (till exempel asuid.www) Domänverifieringskoden.
  9. Ladda upp certifikatet till din miljö.

    az containerapp env certificate upload \
        -g $RESOURCE_GROUP \
        --name $ENVIRONMENT \
        --certificate-file $CERTIFICATE_LOCAL_PATH \
        --password $CERTIFICATE_PASSWORD \
        --certificate-name $CERTIFICATE_LOWERCASE_NAME
    
  10. Binda certifikatet och domänen till containerappen.

    az containerapp hostname bind \
        --hostname $DOMAIN_NAME \
        -g $RESOURCE_GROUP \
        -n $CONTAINER_APP \
        --environment $ENVIRONMENT \
        --certificate $CERTIFICATE_LOWERCASE_NAME \
        --validation-method <VALIDATION_METHOD>
    
    • 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.

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

Hantera certifikat

Du kan hantera certifikat via Container Apps-miljön eller via en enskild containerapp.

Environment

Fönstret Certifikat i Container Apps-miljön visar en tabell med alla certifikat som är associerade med miljön.

Du kan hantera dina certifikat genom följande åtgärder:

Åtgärd beskrivning
Lägg till Välj länken Lägg till certifikat för att lägga till ett nytt certifikat.
Delete Välj papperskorgsikonen för att ta bort ett certifikat.
Förnya Fältet Hälsostatus i tabellen anger att ett certifikat snart upphör att gälla inom 60 dagar från förfallodatumet. Om du vill förnya ett certifikat väljer du länken Förnya certifikat för att ladda upp ett nytt certifikat.

Containerapp

Fönstret Anpassade domäner i containerappen visar en lista över anpassade domäner som är associerade med containerappen.

Du kan hantera dina certifikat för ett enskilt domännamn genom att välja knappen ellips (...) som öppnar fönstret för certifikatbindning. I följande fönster kan du välja ett certifikat som ska bindas till det valda domännamnet.

Nästa steg