Angepasste Domänenzuordnungen für Ihre App konfigurieren
Domänenzuordnungen bieten den URL Weg zu Ihren Code Engine Anwendungen innerhalb eines Projekts. Mit Code Engine werden diese Mappings standardmäßig automatisch erstellt, wenn Sie eine Anwendung bereitstellen. Sie können jedoch Ihre eigene benutzerdefinierte Domäne einer Code Engine Anwendung zuordnen, um Anfragen von Ihrer benutzerdefinierten URL an Ihre Anwendung von der Code Engine Konsole oder CLI weiterzuleiten.
Wenn Sie Ihre Anwendung auf eine Domäne ausrichten möchten, deren Eigner Sie sind, können Sie eine angepasste Domänenzuordnung verwenden. Wenn Sie eine angepasste Domänenzuordnung in Code Enginefestlegen, definieren Sie eine 1-to-1-Zuordnung zwischen Ihrem vollständig qualifizierten Domänennamen (FQDN) und einer Code Engine-Anwendung in Ihrem Projekt.
Eine angepasste Domänenzuordnung darf nur auf eine Anwendung verweisen. Sie können jedoch mehrere Domänenzuordnungen für eine einzelne Anwendung konfigurieren.
Sie können maximal 80 angepasste Domänenzuordnungen pro Projekt erstellen. Siehe Projektkontingente.
Wenn Sie eine angepasste Domänenzuordnung in Code Engineerstellen, muss der in der Zuordnung verwendete Domänenname in der Region eindeutig sein.
Führen Sie die folgenden Schritte aus, um angepasste Domänenzuordnungen zu erstellen:
- Lesen Sie die Hinweise zur Verwendung angepasster Domänenzuordnungen in Code Engine.
- Rufen Sie Ihre angepasste Domäne von einem Domänenregistrator ab (außerhalb von Code Engine).
- Konfigurieren Sie eine angepasste Domänenzuordnung in Code Engine für Ihre -Anwendung (über die Code Engine-Konsole oder Befehlszeilenschnittstelle).
- Schließen Sie die Konfiguration der angepassten Domäne mit Ihrem Domänenregistrator ab (außerhalb von Code Engine).
Angenommen, Sie möchten eine angepasste Domänenzuordnung für www.example.com und shop.example.com erstellen. In diesem Fall müssen Sie eine angepasste Domänenzuordnung für jede eindeutige Domäne oder Unterdomäne erstellen.
Sie können denselben geheimen TLS-Schlüssel jedoch für mehrere angepasste Domänenzuordnungen wiederverwenden, wenn die Zertifikate des geheimen TLS-Schlüssels die Domäne enthalten, die in der angepassten Domänenzuordnung angegeben ist. Dies
bedeutet, dass Sie einen geheimen TLS-Schlüssel mehreren Domänen wie www.example.com und shop.example.com oder einer Platzhalterdomäne wie *.example.com zuordnen können.
Angepasste Domänenzuordnungen über die Konsole konfigurieren
Sie können mit der Konsole von Code Engine eine angepasste Domänenzuordnung zu Ihrem registrierten Domänennamen erstellen.
In diesem Szenario wird eine angepasste Domänenzuordnung zu einer Anwendung mit einem geheimen TLS-Schlüssel erstellt. Erstellen Sie beispielsweise eine angepasste Domänenzuordnung, um die Domäne www.example.com der Anwendung myapp zuzuordnen.
Vorbereitende Schritte
- Fordern Sie eine angepasste Domäne von einem Domänenregistrator und seinem signierten TLS-Zertifikat und privaten Schlüssel an.
- Erstellen Sie ein Projekt.
- Erstellen Sie eine Anwendung.
-
Gehen Sie auf der Seite Code Engine Projekte zu Ihrem Projekt.
-
Klicken Sie auf der Übersichtsseite auf Domänenzuordnungen.
-
Klicken Sie auf der Seite 'Domänenzuordnungen' auf Erstellen, um Ihre Zuordnung zu erstellen.
-
Geben Sie auf der Seite Domänenzuordnung erstellen den geheimen TLS-Schlüssel an, der für diese Domänenzuordnung verwendet werden soll. Code Engine überprüft, ob das Zertifikat von einer anerkannten Zertifizierungsstelle signiert wurde und ob es mit dem angegebenen angepassten Domänennamen und dem privaten Schlüssel übereinstimmt.
So erstellen Sie einen neuen geheimen TLS-Schlüssel:
- Klicken Sie auf Erstellen.
- Fügen Sie das TLS-Zertifikat einschließlich aller Zwischenzertifikate hinzu, die Ihrer Domäne zugeordnet sind. Wenn das Zertifikat als separate Dateien bereitgestellt wird, verketten Sie den Inhalt der Dateien. Sie können diese Informationen in einer Datei angeben.
- Fügen Sie den privaten Schlüssel hinzu, der zu Ihrem Zertifikat gehört. Sie können diese Informationen in einer Datei angeben.
Beispielformat für eine Zertifikatskette
-----BEGIN CERTIFICATE----- ...certificate... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ...intermediate-certificate... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ...intermediate-certificate... -----END CERTIFICATE-----Um einen vorhandenen geheimen TLS-Schlüssel zu verwenden,
- Klicken Sie auf Auswählen.
- Wählen Sie den vorhandenen geheimen Schlüssel aus der Liste aus, den Sie verwenden möchten.
-
Geben Sie den Domänennamen und die Zielkomponente an.
- Geben Sie den vollständig qualifizierten Domänennamen für Ihren angepassten Domänennamen an, z. B.
www.example.com. - Wählen Sie eine vorhandene Zielanwendung aus, z. B.
myapp. In diesem Beispiel verwendet die Anwendungmyappdas Beispielimageicr.io/codeengine/helloworld. Weitere Informationen zu dem Code, der für das vorliegende Beispiel verwendet wird, finden Sie unterhelloworld. - Beachten Sie das Feld CNAME-Ziel. Dieser Wert ist der CNAME-Eintrag, der erforderlich ist, wenn Sie die Konfiguration der angepassten Domäne mit Ihrem Domänenregistrator abschließen, damit der Datenverkehr, der auf Ihre angepasste Domäne zielt, an die angegebene Anwendung weitergeleitet wird.
- Geben Sie den vollständig qualifizierten Domänennamen für Ihren angepassten Domänennamen an, z. B.
-
Klicken Sie auf Erstellen, um die angepasste Domänenzuordnung zu erstellen.
Jetzt haben Sie eine Domänenzuordnung, die in Code Engineerstellt wird. Anforderungen, die an Ihre Anwendung gesendet werden, werden jedoch noch nicht an Ihre angepasste Domäne weitergeleitet. Als Nächstes müssen Sie die Konfiguration der angepassten Domäne mit Ihrem Domänenregistrator abschließen (außerhalb von Code Engine).
Angepasste Domänenzuordnungen über die Befehlszeilenschnittstelle konfigurieren
Verwenden Sie zum Erstellen einer angepassten Domänenzuordnung über die Befehlszeilenschnittstelle den Befehl domainmapping create. Für diesen Befehl ist ein vollständig qualifizierter Domänenname (FQDN) erforderlich,
z. B. www.example.com, eine Zielanwendung und ein geheimer TLS-Schlüssel. Eine vollständige Liste der Optionen finden Sie unter dem ibmcloud ce domainmapping create befehl.
Vorbereitende Schritte
- Rufen Sie den registrierten Domänennamen ab.
- Rufen Sie das signierte TLS-Zertifikat und den privaten Schlüssel für Ihre angepasste Domäne ab.
- Konfigurieren Sie die Umgebung der Code Engine-Befehlszeilenschnittstelle.
- Erstellen Sie ein Projekt.
- Erstellen Sie eine Anwendung.
Wenn Ihr Domänenname registriert ist, Sie über ein signiertes TLS-Zertifikat und den entsprechenden privaten Schlüssel für diese Domäne verfügen und Sie über eine vorhandene Anwendung Code Engine verfügen, können Sie dieser Anwendung eine angepasste
Domänenzuordnung hinzufügen. Sie können den Befehl domainmapping create in der Befehlszeilenschnittstelle verwenden, um eine angepasste Domänenzuordnung mit Ihrer Anwendung Code Engine zu erstellen.
-
Erstellen Sie einen geheimen TLS-Schlüssel mit dem signierten TLS-Zertifikat und dem privaten Schlüssel. In diesem Beispiel enthält die Datei
mycert.txtdas TLS-Zertifikat einschließlich aller Zwischenzertifikate, die Ihrer Domäne zugeordnet sind. Wenn das Zertifikat als separate Dateien bereitgestellt wird, verketten Sie den Inhalt der Dateien. Die Dateimyprivatekey.txtenthält den entsprechenden privaten Schlüssel, der der Zertifikatskette entspricht.ibmcloud ce secret create --name mytlssecret --format tls --cert-chain-file mycertchain.txt --private-key-file myprivatekey.txtBeispielausgabe
Creating tls secret 'mytlssecret'... OK -
Erstellen Sie die angepasste Domänenzuordnung zwischen der Anwendung Code Engine
myappund der angepassten Domänewww.example.com. Verwenden Sie den geheimen TLS-Schlüssel, den Sie im vorherigen Schritt erstellt haben.ibmcloud ce domainmapping create --domain-name www.example.com --target myapp --tls-secret mytlssecretBeispielausgabe
OK Domain mapping successfully created.
Die folgende Tabelle fasst die Optionen zusammen, die mit dem domainmapping create befehl in diesem Beispiel verwendet werden. Weitere Informationen über den Befehl und seine Optionen finden Sie unter dem ibmcloud ce domainmapping create befehl.
| Option | Beschreibung |
|---|---|
--domain-name |
Der Name der benutzerdefinierten Domänenzuordnung. Geben Sie den Namen Ihrer angepassten Domäne an, z. B. www.example.com. Dieser Wert ist erforderlich. |
--target |
Der Name der Zielanwendung Code Engine. Dieser Wert ist erforderlich. |
--tls-secret |
Der geheime TLS-Schlüssel für die Domänenzuordnung. Dieser Wert ist erforderlich. |
Jetzt verfügen Sie über eine angepasste Domänenzuordnung, die in Code Engineerstellt wird. Anforderungen, die an Ihre Anwendung gesendet werden, werden jedoch noch nicht an Ihre angepasste Domäne weitergeleitet. Als Nächstes schließen Sie die angepasste Domänenkonfiguration mit Ihrem Domänenregistrator ab (außerhalb von Code Engine).
Angepasste Domänenkonfiguration mit Ihrem Domänenregistrator abschließen
Nachdem die angepasste Domänenzuordnung Code Engine erstellt wurde, muss den DNS-Einstellungen der angepassten Domäne ein CNAME-Datensatz hinzugefügt werden, der dem vollständig qualifizierten Domänennamen entspricht. Die DNS-Einstellungen finden Sie in den Konfigurationseinstellungen des entsprechenden Domänenregistrators. Führen Sie diesen Schritt aus, damit Datenverkehr, der auf Ihre angepasste Domäne abzielt, an die Funktion Code Engine weitergeleitet wird, wie in Ihrer angepassten Domänenzuordnung Code Engine definiert.
Angepasste Domäne testen
Nachdem Sie die angepasste Domänenkonfiguration mit Ihrem Domänenregistrator abgeschlossen haben und die Aktualisierungen des CNAME-Datensatzes veröffentlicht wurden, können Sie die Anwendung mit der angepassten Domänenzuordnung testen.
Rufen Sie mit einem Browser die Anwendung auf, indem Sie die angepasste Domäne mit curl als Ziel angeben.
curl -v -X GET https://www.example.com
Beispielausgabe
Hello World from:
___ __ ____ ____
/ __)/ \( \( __)
( (__( O )) D ( ) _)
\___)\__/(____/(____)
____ __ _ ___ __ __ _ ____
( __)( ( \ / __)( )( ( \( __)
) _) / /( (_ \ )( / / ) _)
(____)\_)__) \___/(__)\_)__)(____)
Some Env Vars:
--------------
CE_API_BASE_URL=https://api.private.us-south.codeengine.cloud.ibm.com
CE_APP=myapp
CE_DOMAIN=us-south.codeengine.appdomain.cloud
CE_PROJECT_ID=abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
CE_REGION=us-south
CE_SUBDOMAIN=abcdabcdab
HOME=/root
HOSTNAME=myapp-00001-deployment-6db6d89dc7-k6qc7
K_REVISION=myapp-00001
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PORT=8080
PWD=/
SHLVL=1
Die Ausgabe des Aufrufs an die angepasste Domäne wird der myapp-Anwendung zugeordnet, die das Beispielimage icr.io/codeengine/helloworld verwendet.
Weitere Informationen zu Domänenzuordnungen in Code Enginefinden Sie unter Mit angepassten Domänenzuordnungen arbeiten.