Freigeben über


Benutzerdefinierter Domänennamen und kostenlose verwaltete Zertifikate in Azure Container Apps

Azure Container Apps ermöglicht es Ihnen, eine oder mehrere benutzerdefinierte Domänen an eine Container-App zu binden. Sie können automatisch ein kostenloses verwaltetes Zertifikat für Ihre benutzerdefinierte Domäne konfigurieren, wenn Ihre Container-App über die DigiCert-IP-Adressen öffentlich zugänglich ist.

Wenn Sie eine benutzerdefinierte Domäne einrichten möchten, die Ihr eigenes Zertifikat verwendet, lesen Sie benutzerdefinierte Domänennamen und bringen Sie Ihre eigenen Zertifikate in Azure-Container-Apps mit.

Hinweis

Wenn Sie ein benutzerdefiniertes DNS-Suffix für die Umgebung konfigurieren, können Sie ihrer Container-App keine benutzerdefinierte Domäne hinzufügen, die dieses Suffix enthält.

Anforderungen für kostenlose Zertifikate

Container-Apps bieten ein kostenloses verwaltetes Zertifikat für Ihre benutzerdefinierte Domäne. Dieses TLS/SSL-Serverzertifikat wird automatisch ohne Jegliche Aktion von Ihnen erneuert, solange Ihre App weiterhin die Anforderungen für verwaltete Zertifikate erfüllt.

Folgende Anforderungen müssen erfüllt sein:

  • Aktivieren Sie HTTP-Ingress und stellen Sie sicher, dass Ihre Container-App über die DigiCert-IP-Adressen öffentlich erreichbar ist.

  • Haben Sie einen A-Eintrag für Apex-Domänen, der auf die IP-Adresse Ihrer Container-Apps-Umgebung verweist.

  • Richten Sie für Unterdomänen einen CNAME-Eintrag ein, der direkt dem generierten Domänennamen der Container-App zugeordnet ist. Die Zuordnung zu einem CNAME-Zwischenwert blockiert die Ausstellung und Verlängerung von Zertifikaten. Beispiele für CNAME-Werte sind Datenverkehrsmanager, Cloudflare und ähnliche Dienste.

  • Wenn ein Zertifizierungsstellenautorisierungs-Domäneneintrag (CAA) in der Stammdomäne vorhanden ist, müssen Sie DigiCert explizit als Zertifikatherausgeber zulassen, indem Sie einen CAA-Domäneneintrag mit dem Wert 0 issue digicert.comerstellen. Ohne diese Einstellung schlägt die Zertifikatausstellung und -erneuerung fehl.

Hinweis

Um sicherzustellen, dass die Zertifikatausstellung und nachfolgende Verlängerungen erfolgreich fortgesetzt werden, müssen alle Anforderungen jederzeit erfüllt werden, wenn das verwaltete Zertifikat zugewiesen ist.

Hinzufügen einer benutzerdefinierten Domäne und eines verwalteten Zertifikats

  1. Navigieren Sie im Azure-Portal zu Ihrer Container-App.

  2. Vergewissern Sie sich, dass Ihre App über "HTTP-Eingang" verfügt, indem Sie im linken Bereich im Abschnitt Networking die Option Ingress auswählen. Wenn der Eingang nicht aktiviert ist, aktivieren Sie ihn mit den folgenden Schritten:

    1. Legen Sie " Ingress " auf "Aktiviert" fest.
    2. Wählen Sie die gewünschte Einstellung für den Eingehenden Datenverkehr aus.
    3. Legen Sie den Typ "Ingress" auf HTTP fest.
    4. Geben Sie den Zielport ein.
    5. Wählen Sie Speichern.
  3. Wählen Sie unter "Netzwerk " im linken Bereich "Benutzerdefinierte Domänen" aus.

  4. Wählen Sie Benutzerdefinierte Domäne hinzufügen.

  5. Wählen Sie im Bereich " Benutzerdefinierte Domäne und Zertifikat hinzufügen " für das TLS/SSL-Zertifikatdie Option "Verwaltetes Zertifikat" aus.

  6. Geben Sie im Feld "Domäne " die Domäne ein, die Sie hinzufügen möchten.

  7. Wählen Sie den Hostnamen-Eintragstyp basierend auf dem Typ Ihrer Domäne aus:

    Domänentyp Datensatztyp Hinweise
    Apex-Domäne A-Eintrag Eine Apex-Domäne ist eine Domäne auf Stammebene Ihrer Domäne. Wenn Ihre DNS-Zone beispielsweise contoso.com lautet, ist contoso.com die Apex-Domäne.
    Unterdomäne CNAME Eine Unterdomäne ist eine Domäne, die Teil einer anderen Domäne ist. Wenn Ihre DNS-Zone beispielsweise contoso.com lautet, ist www.contoso.com ein Beispiel einer Unterdomäne, die in der Zone konfiguriert werden kann.
  8. Erstellen Sie mithilfe des DNS-Anbieters, der Ihre Domäne hostt, DNS-Einträge basierend auf dem Hostnamen-Eintragstyp , den Sie mithilfe der im Abschnitt "Domänenüberprüfung" angegebenen Werte ausgewählt haben. Die Einträge verweisen die Domäne auf Ihre Container-App und überprüfen, ob Sie der Besitzer sind.

    • Wenn Sie A-Eintrag ausgewählt haben, erstellen Sie die folgenden DNS-Einträge:

      Datensatztyp Host Wert
      A @ IP-Adresse Ihrer Container Apps-Umgebung.
      TXT asuid Domänenprüfcode.
    • Wenn Sie CNAME ausgewählt haben, erstellen Sie die folgenden DNS-Einträge:

      Datensatztyp Host Wert
      CNAME Die Unterdomäne (z. B www. ). Die generierte Domäne Ihrer Container-App.
      TXT asuid. gefolgt von der Unterdomäne (z. B asuid.www. ). Domänenprüfcode.
  9. Wählen Sie Überprüfen aus.

  10. Nachdem die Überprüfung erfolgreich war, wählen Sie "Hinzufügen" aus.

    Die Ausstellung des Zertifikats und das Hinzufügen der Domäne zu Ihrer Container-App können mehrere Minuten dauern.

  11. Nach Abschluss des Vorgangs wird Ihr Domänenname in der Liste der benutzerdefinierten Domänen mit dem Status "Gesichert" angezeigt. Wechseln Sie zu Ihrer Domäne, um zu überprüfen, ob auf sie zugegriffen werden kann.

Container Apps unterstützt Hauptdomänen und Unterdomänen. Jeder Domänentyp erfordert einen anderen DNS-Eintragstyp und eine andere Überprüfungsmethode:

Domänentyp Datensatztyp Prüfmethode Hinweise
Apex-Domäne A-Eintrag HTTP Eine Apex-Domäne ist eine Domäne auf Stammebene Ihrer Domäne. Wenn Ihre DNS-Zone beispielsweise contoso.com lautet, ist contoso.com die Apex-Domäne.
Unterdomäne CNAME CNAME Eine Unterdomäne ist eine Domäne, die Teil einer anderen Domäne ist. Wenn Ihre DNS-Zone beispielsweise contoso.com lautet, ist www.contoso.com ein Beispiel einer Unterdomäne, die in der Zone konfiguriert werden kann.
  1. Melden Sie sich mit der Azure CLI bei Azure an:

    az login
    
  2. Installieren Sie die Container-Apps-Erweiterung für die CLI:

    az extension add --name containerapp --upgrade
    
  3. Legen Sie die folgenden Umgebungsvariablen fest. Ersetzen Sie <PLACEHOLDERS> durch Ihre eigenen Werte.

    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>"
    
    • Ersetzen Sie <CERTIFICATE_LOCAL_PATH> durch den lokalen Pfad der Zertifikatsdatei.
    • Ersetzen Sie <CERTIFICATE_LOWERCASE_NAME> durch einen Zertifikatsnamen in Kleinbuchstaben, der innerhalb der Umgebung eindeutig ist.
    • Ersetzen Sie <TARGET_PORT> durch den Port, an dem Ihre Container-App lauscht.
  4. Vergewissern Sie sich, dass ihre Container-App HTTP-Eingangsfunktionen aktiviert hat:

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

    Wenn der Ingress nicht aktiviert ist, aktivieren Sie ihn.

    az containerapp ingress enable \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP \
        --type external \
        --target-port $TARGET_PORT \
        --transport auto
    
  5. Wenn Sie eine Apex-Domäne konfigurieren, rufen Sie die IP-Adresse Ihrer Container-Apps-Umgebung ab:

    az containerapp env show \
        -n $ENVIRONMENT \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.staticIp"
    
  6. Wenn Sie eine Unterdomäne konfigurieren, rufen Sie die automatisch generierte Domäne Ihrer Container-App ab:

    az containerapp show \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.configuration.ingress.fqdn"
    
  7. Abrufen Sie den Domänenüberprüfungscode:

    az containerapp show \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.customDomainVerificationId"
    
  8. Erstellen Sie mithilfe des DNS-Anbieters, der Ihre Domäne hostt, DNS-Einträge basierend auf dem von Ihnen ausgewählten Eintragstyp, indem Sie die im Abschnitt "Domänenüberprüfung" gezeigten Werte verwenden. Die Einträge verweisen die Domäne auf Ihre Container-App und überprüfen, ob Sie der Besitzer sind.

    • Wenn Sie A-Eintrag ausgewählt haben, erstellen Sie die folgenden DNS-Einträge:

      Datensatztyp Host Wert
      A @ IP-Adresse Ihrer Container Apps-Umgebung.
      TXT asuid Domänenprüfcode.
    • Wenn Sie CNAME ausgewählt haben, erstellen Sie die folgenden DNS-Einträge:

      Datensatztyp Host Wert
      CNAME Die Unterdomäne (z. B www. ). Die generierte Domäne Ihrer Container-App.
      TXT asuid. gefolgt von der Unterdomäne (z. B asuid.www. ). Domänenprüfcode.
  9. Fügen Sie der Container-App die Domäne hinzu:

    az containerapp hostname add \
        --hostname $DOMAIN_NAME \
        -g $RESOURCE_GROUP \
        -n $CONTAINER_APP
    
  10. Konfigurieren Sie das verwaltete Zertifikat, und binden Sie die Domäne an Ihre Container-App:

    az containerapp hostname bind \
        --hostname $DOMAIN_NAME \
        -g $RESOURCE_GROUP \
        -n $CONTAINER_APP \
        --environment $ENVIRONMENT \
        --validation-method <VALIDATION_METHOD>
    
    • Wenn Sie einen A-Eintrag konfigurieren, ersetzen Sie <VALIDATION_METHOD> durch HTTP.

    • Wenn Sie einen CNAME-Eintrag konfigurieren, ersetzen Sie <VALIDATION_METHOD> durch CNAME.

    Die Ausstellung des Zertifikats und das Hinzufügen der Domäne zu Ihrer Container-App können mehrere Minuten dauern.

  11. Wechseln Sie nach Abschluss des Vorgangs zu Ihrer Domäne, um zu überprüfen, ob auf sie zugegriffen werden kann.

Nächster Schritt