In diesem Thema wird die Konfiguration des virtuellen Hosts erläutert. Mit virtuellen Hosts kann Apigee Hybrid API-Anfragen an mehrere Domainnamen verarbeiten und Proxy-Basispfade an bestimmte Umgebungen weiterleiten.
Mit dem Konfigurationsattribut virtualhosts.routingRules[]
können Sie festlegen, an welche umgebungsspezifischen API-Proxys Basispfade weitergeleitet werden soll. Weitere Informationen zu den einzelnen Attributen finden Sie in der Referenz zu Konfigurationsattributen unter virtualhosts. Beispiele:
... virtualhosts: - name: vhost-one hostAliases: ["api.example.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem routingRules: - paths: - /orders - /items env: test1 - paths: - /customers env: test2 envs: - name: test1 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json - name: test2 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json
Wenn ein API-Aufruf wie https://api.example.com/orders
eingeht, wird die Anfrage an den Nachrichtenprozessor der test1
-Umgebung gesendet. Analog dazu wird eine Anfrage an https://api.example.com/customers
an die Umgebung test2
weitergeleitet.
Neue Umgebung hinzufügen
Wenn Sie eine neue Umgebung hinzufügen möchten, fügen Sie deren Konfiguration zum Attribut envs[]
hinzu und fügen Sie dann einen neuen virtualhosts.routingRules.path
-Eintrag hinzu, der angibt, welche Basispfade der neuen Umgebung zugeordnet werden sollen. Im folgenden Beispiel wird eine neue Umgebung mit dem Namen test3
hinzugefügt. routingRules
wurde aktualisiert, um zwei Pfade zur neuen Umgebung zu weiterzuleiten:
virtualhosts: - name: vhost-one hostAliases: ["api.example.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem routingRules: - paths: - /orders - /items env: test1 - paths: - /v0/hello - /httpbin env: test2 - paths: - /v0/inventory - /v0/customers env: test3 envs: - name: test1 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json - name: test2 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json - name: test3 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json
Um das Update anzuwenden, müssen Sie nur die runtime
-Komponente anwenden:
apigeectl apply -f overrides-file.yaml -c runtime
Mehrere virtuelle Hosts hinzufügen
Das Attribut virtualhosts[]
ist ein Array, das Sie erstellen können. Jeder virtuelle Host muss einen eindeutigen Satz von Hostaliassen enthalten: Zwei virtuelle Hosts können nicht denselben Hostalias teilen. Zum Beispiel verarbeitet der neue virtuelle Host dev
den an die Domain api.internal.com
gesendeten Traffic.
virtualhosts: - name: vhost-one hostAliases: ["api.example.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem routingRules: - paths: - /orders - /items env: test1 - paths: - /v0/hello - /httpbin env: test2 - paths: - /v0/inventory - /v0/customers env: test3 - name: vhost-two hostAliases: ["api.internal.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem routingRules: - paths: - /orders - /items env: test1 - paths: - /v0/hello - /httpbin env: test2 - paths: - /v0/inventory - /v0/customers env: test3 envs: - name: test1 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json - name: test2 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json - name: test3 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json
Um das Update anzuwenden, müssen Sie nur die runtime
-Komponente anwenden:
apigeectl apply -f overrides-file.yaml -c runtime
TLS-Schlüssel und -Zertifikate
Wenn Sie einen neuen virtuellen Host erstellen, müssen Sie auch einen TLS-Schlüssel und ein Zertifikat bereitstellen. Schlüssel und Zertifikat werden zur sicheren Kommunikation mit dem Ingress-Gateway verwendet.
Sie entscheiden selbst, wie Sie geeignete TLS-Zertifikat-/Schlüsselpaare für Ihre Hybridkonfiguration generieren. Die folgenden Themen werden nur als Beispiele bereitgestellt. Sie dienen hauptsächlich zum Ausprobieren oder Testen einer neuen Hybridinstallation, wenn es nicht möglich ist, TLS-Anmeldedaten abzurufen.
- Unter TLS-Anmeldedaten abrufen finden Sie eine Reihe von Beispielschritten für die Erstellung eines autorisierten TLS-Zertifikat-/Schlüsselpaars.
- Sie können selbst signierte Zertifikate/Schlüsselpaare nur zu Testzwecken verwenden. Weitere Informationen finden Sie unter Selbstsignierte TLS-Anmeldedaten generieren.