Zuordnen einer vorhandenen benutzerdefinierten Domäne zu Azure Spring Apps

Hinweis

Azure Spring Apps ist der neue Name für den Azure Spring Cloud-Dienst. Obwohl der Dienst umbenannt wurde, wird der alte Name noch an einigen Stellen verwendet, solange wir Ressourcen wie Screenshots, Videos und Diagramme aktualisieren.

Dieser Artikel gilt für: ✔️ Java ✔️ C#

Dieser Artikel gilt für: ✔️ Standard ✔️ Enterprise

DNS (Domain Name Service) wird verwendet, um Namen von Netzwerkknoten im gesamten Netzwerk zu speichern. In diesem Artikel wird eine Domäne (beispielsweise www.contoso.com) mithilfe eines CNAME-Eintrags zugeordnet. Die benutzerdefinierte Domäne wird durch ein Zertifikat geschützt, und Sie erfahren, wie Sie Transport Layer Security (TLS) erzwingen, was auch als Secure Sockets Layer (SSL) bezeichnet wird.

Zertifikate dienen zur Verschlüsselung von Webdatenverkehr. Diese TLS-/SSL-Zertifikate können in Azure Key Vault gespeichert werden.

Voraussetzungen

  • Ein Azure-Abonnement. Wenn Sie kein Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
  • (Optional) Azure CLI Version 2.45.0 oder höher. Verwenden Sie den folgenden Befehl, um die Azure Spring Apps-Erweiterung zu installieren: az extension add --name spring
  • Eine in Azure Spring Apps bereitgestellte Anwendung (siehe Schnellstart: Bereitstellen Ihrer ersten Anwendung in Azure Spring Apps mit dem Azure-Portal, oder verwenden Sie eine vorhandene App). Wenn Ihre Anwendung mit dem Standardplan bereitgestellt wird, stellen Sie sicher, dass Sie ein Upgrade auf den Standardplan durchführen.
  • Ein Domänenname mit Zugriff auf die DNS-Registrierung für einen Domänenanbieter (beispielsweise GoDaddy).
  • Ein privates Zertifikat (d. h. ihr selbst signiertes Zertifikat) von einem Drittanbieter. Das Zertifikat muss der Domäne entsprechen.
  • Eine bereitgestellte Instanz von Azure Key Vault. Weitere Informationen finden Sie unter Informationen zu Azure Key Vault.

Die IP-Adressen für die Verwaltung von Azure Spring Apps sind noch nicht Teil der vertrauenswürdigen Azure-Dienste von Microsoft. Damit Azure Spring Apps Zertifikate aus einer Key Vault-Instanz laden kann, die durch private Endpunktverbindungen geschützt ist, müssen Sie daher der Azure Key Vault-Firewall die folgenden IP-Adressen hinzufügen:

  • 20.99.204.111
  • 20.201.9.97
  • 20.74.97.5
  • 52.235.25.35
  • 20.194.10.0
  • 20.59.204.46
  • 104.214.186.86
  • 52.153.221.222
  • 52.160.137.39
  • 20.39.142.56
  • 20.199.190.222
  • 20.79.64.6
  • 20.211.128.96
  • 52.149.104.144
  • 20.197.121.209
  • 40.119.175.77
  • 20.108.108.22
  • 102.133.143.38
  • 52.226.244.150
  • 20.84.171.169
  • 20.93.48.108
  • 20.75.4.46
  • 20.78.29.213
  • 20.106.86.34
  • 20.193.151.132

Importieren des Zertifikats

Vorbereiten der Zertifikatsdatei als PFX (optional)

Azure Key Vault unterstützt das Importieren eines privaten Zertifikats im PEM- und PFX-Format. Wenn die PEM-Datei, die Sie von Ihrem Zertifikatanbieter erhalten haben, im Abschnitt Speichern des Zertifikats in Key Vault nicht funktioniert, führen Sie die hier beschriebenen Schritte aus, um eine PFX-Datei für Azure Key Vault zu generieren.

Zusammenführen von Zwischenzertifikaten

Wenn Ihre Zertifizierungsstelle Ihnen mehrere Zertifikate in der Zertifikatskette bereitstellt, müssen Sie die Zertifikate nacheinander zusammenführen.

Öffnen Sie für diese Aufgabe alle Zertifikate, die Sie erhalten haben, in einem Text-Editor.

Erstellen Sie eine Datei für das zusammengeführte Zertifikat mit dem Namen mergedcertificate.crt. Kopieren Sie den Inhalt der einzelnen Zertifikate in einem Text-Editor in diese Datei. Die Reihenfolge Ihrer Zertifikate sollte der Reihenfolge in der Zertifikatkette folgen, beginnend mit Ihrem Zertifikat und endend mit dem Stammzertifikat. Dies sieht in etwa wie im folgenden Beispiel aus:

-----BEGIN CERTIFICATE-----
<your entire Base64 encoded SSL certificate>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 1>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 2>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded root certificate>
-----END CERTIFICATE-----

Exportieren des Zertifikats als PFX-Datei

Exportieren Sie Ihr zusammengeführtes TLS-/SSL-Zertifikat mit dem privaten Schlüssel, mit dem Ihre Zertifikatanforderung generiert wurde.

Wenn Sie die Zertifikatanforderung mittels OpenSSL generiert haben, haben Sie eine Datei des privaten Schlüssels erstellt. Führen Sie folgenden Befehl aus, um Ihr Zertifikat nach PFX zu exportieren. Ersetzen Sie die Platzhalter <private-key-file> und <merged-certificate-file> durch die Pfade zu Ihrem privaten Schlüssel und Ihrer zusammengeführten Zertifikatdatei.

openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>

Definieren Sie ein Kennwort für den Export, wenn Sie dazu aufgefordert werden. Verwenden Sie dieses Kennwort, wenn Sie Ihr TLS/SSL-Zertifikat zu einem späteren Zeitpunkt in Azure Key Vault hochladen.

Wenn Sie IIS oder Certreq.exe zum Generieren Ihrer Zertifikatanforderung verwendet haben, installieren Sie das Zertifikat auf dem lokalen Computer, und klicken Sie anschließend auf Zertifikat nach PFX exportieren.

Speichern eines Zertifikats in Key Vault

Zum Importieren eines Zertifikats muss sich die PEM- oder PFX-codierte Datei auf dem Datenträger befinden, und Sie müssen über den privaten Schlüssel verfügen.

Führen Sie die folgenden Schritte aus, um Ihr Zertifikat in den Schlüsseltresor hochzuladen:

  1. Navigieren Sie zu Ihrer Schlüsseltresorinstanz.

  2. Wählen Sie im Navigationsbereich Zertifikate aus.

  3. Wählen Sie im oberen Menü Generieren/importieren aus.

  4. Wählen Sie auf der Seite Zertifikat erstellen die Option Importieren für Methode der Zertifikaterstellung aus, und geben Sie dann einen Wert für den Zertifikatnamen an.

  5. Navigieren Sie unter Zertifikatdatei hochladen zum Speicherort des Zertifikats, und wählen Sie die Datei aus.

  6. Unter Kennwort geben Sie, wenn Sie eine kennwortgeschützte Zertifikatsdatei hochladen, hier das Kennwort an. Lassen Sie dieses Feld andernfalls leer. Nachdem die Zertifikatsdatei erfolgreich importiert wurde, entfernt der Schlüsseltresor das Kennwort.

  7. Klicken Sie auf Erstellen.

    Screenshot des Dialogfelds „Zertifikat erstellen“ im Azure-Portal.

Gewähren von Zugriff auf Ihren Schlüsseltresor für Azure Spring Apps

Sie müssen Azure Spring Apps Zugriff auf Ihren Schlüsseltresor gewähren, bevor Sie das Zertifikat importieren.

Führen Sie die folgenden Schritte aus, um den Zugriff über das Azure-Portal zu gewähren:

  1. Navigieren Sie zu Ihrer Schlüsseltresorinstanz.
  2. Wählen Sie im Navigationsbereich Zugriffsrichtlinien aus.
  3. Wählen Sie im oberen Menü Erstellen aus.
  4. Geben Sie die Informationen ein, wählen Sie die Schaltfläche Hinzufügen aus, und Erstellen Sie die Zugriffsrichtlinie.
Geheimnisberechtigung Zertifikatsberechtigung Prinzipal auswählen
Get, List Get, List Azure Spring Apps-Domänenverwaltung

Hinweis

Wenn Sie „Azure Spring Apps Domänenverwaltung“ nicht finden, suchen Sie nach „Azure Spring Cloud Domänenverwaltung“.

Screenshot der Seite „Zugriffsrichtlinie hinzufügen“ im Azure-Portal mit der Auswahl der Elemente „Abrufen“ und „Auflisten“ der Geheimnisberechtigungen und Zertifikatberechtigungen.

Screenshot der Seite „Zugriffsrichtlinie erstellen“ im Azure-Portal mit der Auswahl „Azure Spring Apps-Domänenverwaltung“ in der Dropdownliste zum Auswählen eines Prinzipals.

Importieren eines Zertifikats in Azure Spring Apps

  1. Navigieren Sie zu Ihrer Azure Spring Apps-Instanz.

  2. Wählen Sie im Navigationsbereich TLS/SSL-Einstellungen aus.

  3. Wählen Sie Key Vault-Zertifikat importieren aus.

    Screenshot des Azure-Portals, der die Seite TLS/SSL-Einstellungen mit der hervorgehobenen Schaltfläche Key Vault-Zertifikat importieren zeigt.

  4. Wählen Sie auf der Seite Zertifikat von Azure auswählen das Abonnement, den Schlüsseltresor und das Zertifikat aus den Dropdownoptionen und wählen Sie dann Auswählen.

    Screenshot der Seite „Zertifikat von Azure auswählen“ im Azure-Portal.

  5. Geben Sie auf der geöffneten Seite Zertifikatname festlegen Ihren Zertifikatnamen ein, wählen Sie bei Bedarf die Option Automatische Synchronisierung und dann Übernehmen. Weitere Informationen finden Sie im Abschnitt Zertifikat automatisch synchronisieren.

    Screenshot des Dialogfelds „Zertifikatname festlegen“ im Azure-Portal.

  6. Wenn Ihr Zertifikat erfolgreich importiert wurde, wird es in der Liste Private Schlüsselzertifikate angezeigt.

    Screenshot der Registerkarte „Private Key-Zertifikate“ im Azure-Portal.

Wichtig

Das Zertifikat muss unbedingt an eine benutzerdefinierte Domäne gebunden werden, um sie mit diesem Zertifikat zu schützen. Weitere Informationen finden Sie im Abschnitt SSL-Bindung hinzufügen.

Automatische Synchronisierung des Zertifikats

Ein in Azure Key Vault gespeichertes Zertifikat wird manchmal verlängert, bevor es abläuft. Ebenso müssen die Sicherheitsrichtlinien Ihrer Organisation für die Zertifikatverwaltung möglicherweise Ihr DevOps-Team regelmäßig durch neue Zertifikate ersetzen. Nachdem Sie die automatische Synchronisierung für ein Zertifikat aktiviert haben, beginnt Azure Spring Apps, Ihren Schlüsseltresor regelmäßig für eine neue Version zu synchronisieren – in der Regel alle 24 Stunden. Wenn eine neue Version verfügbar ist, importiert Azure Spring Apps sie und lädt sie dann für verschiedene Komponenten neu, die das Zertifikat verwenden, ohne Ausfallzeiten zu verursachen. Die folgende Liste zeigt die betroffenen Komponenten und relevanten Szenarien:

Wenn Azure Spring Apps ein Zertifikat importiert oder neu lädt, wird ein Aktivitätsprotokoll generiert. Um die Aktivitätsprotokolle anzuzeigen, navigieren Sie im Azure-Portal zu Ihrer Azure Spring Apps-Instanz, und wählen Sie im Navigationsbereich Aktivitätsprotokoll aus.

Hinweis

Das Feature für die automatische Synchronisierung des Zertifikats funktioniert mit privaten Zertifikaten und öffentlichen Zertifikaten, die aus Azure Key Vault importiert wurden. Dieses Feature ist für Inhaltszertifikate, die der Kunde hochlädt, nicht verfügbar.

Sie können das Feature für die automatische Zertifikatsynchronisierung aktivieren oder deaktivieren, wenn Sie ein Zertifikat aus Ihrem Schlüsseltresor in Azure Spring Apps importieren. Weitere Informationen finden Sie im Abschnitt Importieren eines Zertifikats in Azure Spring Apps.

Sie können dieses Feature auch für ein Zertifikat aktivieren oder deaktivieren, das bereits in Azure Spring Apps importiert wurde.

Führen Sie die folgenden Schritte aus, um die automatische Synchronisierung für ein importiertes Zertifikat zu aktivieren oder zu deaktivieren:

  1. Wechseln Sie zur Liste der Zertifikate für Private Schlüsselzertifikate oder Öffentliche Schlüsselzertifikate.

  2. Wählen Sie die Auslassungspunkte (...) nach der Spalte Automatische Synchronisierung aus, und wählen Sie dann entweder Automatische Synchronisierung aktivieren oderAutomatische Synchronisierung deaktivieren aus.

    Screenshot des Azure-Portals, in dem eine Zertifikatliste mit dem Schaltflächenmenü mit den Auslassungspunkten geöffnet und die Option

Hinzufügen einer benutzerdefinierten Domäne

Sie können einen CNAME-Eintrag verwenden, um Azure Spring Apps einen benutzerdefinierten DNS-Namen zuzuordnen.

Hinweis

Der A-Eintrag wird nicht unterstützt.

Erstellen des CNAME-Eintrags

Wechseln Sie zu Ihrem DNS-Anbieter, und fügen Sie einen CNAME-Eintrag hinzu, um Ihre Domäne <service-name>.azuremicroservices.io zuzuordnen. Hier ist <service-name> der Name Ihrer Azure Spring Apps-Instanz. Für Domäne und Unterdomäne werden Platzhalter unterstützt.

Nach dem Hinzufügen des CNAME-Eintrags sieht die Seite mit den DNS-Einträgen in etwa wie folgt aus:

Screenshot der Seite mit den DNS-Einträgen, auf der die Azure Spring Apps-Instanz angezeigt wird.

Zuordnen Ihrer benutzerdefinierten Domäne zur Azure Spring Apps-App

Wenn Sie nicht über eine Anwendung in Azure Spring Apps verfügen, befolgen Sie die Anweisungen in der Schnellstartanleitung: Bereitstellen Ihrer ersten Anwendung in Azure Spring Apps.

Navigieren Sie zur Anwendungsseite.

  1. Wählen Sie Benutzerdefinierte Domäne aus.

  2. Wählen Sie Benutzerdefinierte Domäne hinzufügen aus.

    Screenshot der Seite „Benutzerdefinierte Domäne“ im Azure-Portal.

  3. Geben Sie den vollqualifizierten Domänennamen ein, für den Sie einen CNAME-Eintrag hinzugefügt haben (beispielsweise www.contoso.com). Stellen Sie sicher, dass der Typ des Hostnameneintrags auf CNAME (<service-name>.azuremicroservices.io) festgelegt ist.

  4. Wählen Sie Überprüfen aus, um die Schaltfläche Hinzufügen zu aktivieren.

  5. Wählen Sie Hinzufügen.

    Screenshot des Dialogfelds „Benutzerdefinierte Domäne hinzufügen“ im Azure-Portal.

Eine App kann über mehrere Domänen verfügen, eine Domäne kann jedoch nur einer einzelnen App zugeordnet werden. Wenn Sie Ihre benutzerdefinierte Domäne erfolgreich der App zugeordnet haben, wird sie in der Tabelle der benutzerdefinierten Domänen angezeigt.

Screenshot einer Tabelle einer benutzerdefinierten Domäne im Azure-Portal.

Hinweis

Ist Ihre benutzerdefinierte Domäne mit Nicht sicher gekennzeichnet, wurde sie noch nicht an ein SSL-Zertifikat gebunden. Jede HTTPS-Anforderung von einem Browser an Ihre benutzerdefinierte Domäne erhält einen Fehler oder eine Warnung.

Hinzufügen von SSL-Bindung

Wählen Sie in der Tabelle mit den benutzerdefinierten Domänen die Option Add ssl binding (SSL-Bindung hinzufügen) aus, wie in der vorherigen Abbildung zu sehen.

  1. Wählen Sie unter Zertifikat Ihr Zertifikat aus, oder importieren Sie es.

  2. Wählen Sie Speichern.

    Screenshot des Bereichs „TLS/SSL-Bindung“ im Azure-Portal.

Nach erfolgreichem Hinzufügen der SSL-Bindung ist der Domänenzustand „sicher“: Fehlerfrei.

Screenshot einer SSL-Bindung, die den Domänenstatus „Fehlerfrei“ anzeigt.

Erzwingen von HTTPS

Standardmäßig können Benutzer weiterhin über HTTP auf Ihre App zugreifen, alle HTTP-Anforderungen können jedoch an den HTTPS-Port umgeleitet werden.

Wählen Sie in der Navigation Ihrer App-Seite Benutzerdefinierte Domäne aus. Legen Sie dann Nur HTTPS auf Yes fest.

Screenshot einer SSL-Bindung mit hervorgehobener Option „Nur HTTPS“.

Navigieren Sie nach Abschluss des Vorgangs zu einer beliebigen HTTPS-URL, die auf Ihre App verweist. Beachten Sie, dass HTTP-URLs nicht funktionieren.

Nächste Schritte