Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur
Dokumentation vonApigee X. info
Ein Cloud-Kunde mit einem kostenpflichtigen Konto und alle Edge for Private Cloud-Kunden können einen virtuellen Host in einer Organisation erstellen. Der Nutzer , der den virtuellen Host erstellt, muss die Rolle Organisationsadministrator oder eine benutzerdefinierte Rolle mit Berechtigungen zum Ändern eines virtuellen Hosts haben. Nutzer mit anderen Rollen sind nicht berechtigt, virtuelle Hosts zu erstellen.
Videoeinführung zu virtuellen Hosts ansehen
Virtuellen Host erstellen
Verwenden Sie die folgende grundlegende Vorgehensweise, um den virtuellen Host zu erstellen. Die tatsächliche Vorgehensweise hängt davon ab, ob Sie ein Cloud- oder Private Cloud-Kunde sind, und ob Sie TLS aktivieren:
- Erstellen Sie einen DNS-Eintrag und einen CNAME-Eintrag für Ihre öffentlich zugängliche Domain.
- Wenn Sie TLS auf dem virtuellen Host aktivieren:
- Erstellen und konfigurieren Sie einen Schlüsselspeicher mit der hier beschriebenen Vorgehensweise: Schlüsselspeicher und Truststores.
- Laden Sie Ihr Zertifikat und Ihren Schlüssel in den Schlüsselspeicher hoch. Achten Sie darauf, dass der in Ihrem Zertifikat angegebene Domainname mit dem Host-Alias übereinstimmt, den Sie für den virtuellen Host verwenden möchten.
- Erstellen Sie mit der Edge-UI oder der Edge API einen Verweis auf den Schlüsselspeicher. Der Verweis
gibt den Namen des Schlüsselspeichers und den Verweistyp als
KeyStorean. Weitere Informationen zum Erstellen und Ändern von Verweisen finden Sie unter Mit Verweisen arbeiten. - Wenn Sie die bidirektionale TLS nutzen, erstellen Sie einen Truststore, laden Sie das Zertifikat hoch, und erstellen Sie einen Verweis auf den Truststore. Erstellen Sie den Truststore mit der hier beschriebenen Vorgehensweise: Schlüsselspeicher und Truststores.
- Erstellen Sie den virtuellen Host mit der API zum Erstellen eines virtuellen Hosts. Wenn Sie TLS aktivieren, geben Sie den richtigen Schlüsselspeicherverweis, Truststore-Verweis und Schlüsselalias an.
- Wenn Sie vorhandene API-Proxys haben, fügen Sie den virtuellen Host dem ProxyEndpoint hinzu.
Der virtuelle Host wird automatisch allen neuen API-Proxys hinzugefügt. Weitere Informationen finden Sie unter
API-Proxy für die Verwendung eines virtuellen Hosts konfigurieren.
Nachdem Sie einen API-Proxy für die Verwendung des virtuellen Hosts aktualisiert und den DNS-Eintrag und den CNAME Eintrag für den Host-Alias erstellt haben, können Sie wie unten gezeigt auf den API-Proxy zugreifen:
https://api.myCompany.com/v1/project-base-path/resource-path
Beispiel:
https://api.myCompany.com/v1/weather/forecastrss?w=12797282
Virtuellen Host mit der API oder der UI erstellen
Sie können einen virtuellen Host mit der Edge API oder der Edge-UI erstellen.
In den meisten Beispielen unten wird die Edge API verwendet. So greifen Sie auf die UI zu, um virtuelle Hosts in der Edge-UI zu erstellen, zu ändern und zu löschen:
- Melden Sie sich unter apigee.com/edge an.
Edge for Private Cloud-Kunden verwenden
http://ms-ip:9000(lokal), wobei ms-ip die IP-Adresse oder der DNS-Name des Management Server-Knotens ist. - Wählen Sie in der linken Navigationsleiste Admin > Virtuelle Hosts aus.
- Wählen Sie die Umgebung aus, z. B. prod oder test.
Die für die Umgebung definierten virtuellen Hosts werden angezeigt. - Wählen Sie + Virtueller Host aus, um einen virtuellen Host zu erstellen, oder wählen Sie den Namen eines vorhandenen virtuellen Hosts aus, um ihn zu bearbeiten.
Virtuellen Host für HTTP erstellen
Edge for Private Cloud-Kunden können einen virtuellen Host mit HTTP erstellen.
Wenn Sie einen virtuellen Host erstellen möchten, der TLS nicht unterstützt, erstellen Sie ein XML-Objekt, das den virtuellen Host definiert. Das folgende XML-Objekt definiert beispielsweise einen virtuellen Host, der das HTTP Protokoll verwendet:
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Interfaces/>
<Port>80</Port>
</VirtualHost>In dieser Definition:
- Geben Sie den Namen als myVHost an. Verwenden Sie den Namen, um auf den virtuellen Host in einem API-Proxy oder in einem API-Aufruf zu verweisen.
- Geben Sie den Host-Alias als api.myCompany.com an. Dies ist die öffentlich zugängliche Domain, die für den Zugriff auf Ihre APIs verwendet wird, wie durch eine DNS-Definition und einen CNAME Eintrag definiert.
- Geben Sie die Portnummer als 80 an. Wenn Sie nichts angeben, wird der Port standardmäßig auf 443 gesetzt.
Es gibt weitere Attribute, die Sie im virtuellen Host festlegen können. Eine Referenz für alle Attribute finden Sie unter Referenz zu Attributen virtueller Hosts.
Wenn Sie vorhandene API-Proxys haben, fügen Sie den virtuellen Host dem Element <HTTPConnection>
im ProxyEndpoint hinzu. Der virtuelle Host wird automatisch allen neuen API-Proxys hinzugefügt.
Weitere Informationen finden Sie unter API-Proxy für die Verwendung eines virtuellen Hosts konfigurieren.
Wenn Sie einen neuen API-Proxy erstellen, der nicht über einen bestimmten virtuellen Host zugänglich sein soll,
müssen Sie den API-Proxy bearbeiten, um diesen virtuellen Host aus dem ProxyEndpoint zu entfernen.
Sie können dann über diesen virtuellen Host auf einen API-Proxy zugreifen, indem Sie eine Anfrage an folgende Adresse senden:
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
Erstellen Sie den virtuellen Host mit der API zum Erstellen eines virtuellen Hosts:
curl -X POST -H "Content-Type:application/xml" \
http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \
-d '<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Interfaces/>
<Port>80</Port>
</VirtualHost>' \
-u sysAdminEmail:passwordVirtuellen Host für die unidirektionale TLS erstellen
Das folgende XML-Objekt definiert einen virtuellen Host für die unidirektionale TLS:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>
</VirtualHost>In dieser Definition aktivieren Sie TLS, indem Sie das <Enable> Element
auf „true“ setzen, und verwenden die <KeyStore> und <KeyAliase> Elemente
um den Schlüsselspeicher und den Schlüsselalias anzugeben, die von der TLS-Verbindung verwendet werden.
Weitere Informationen zur Verwendung von TLS finden Sie unter TLS/SSL.
Festlegen, wie der Name des Schlüsselspeichers und des Truststores im virtuellen Host angegeben werden soll
Wenn Sie einen virtuellen Host für die Unterstützung von TLS konfigurieren, geben Sie einen Schlüsselspeicher mit einem Verweis an. Ein Verweis ist eine Variable, die den Namen des Schlüsselspeichers oder Truststores enthält, statt den jeweiligen Namen direkt anzugeben, wie unten gezeigt:
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>Der Vorteil eines Verweises besteht darin, dass Sie den Wert des Verweises ändern können, um den vom virtuellen Host verwendeten Schlüsselspeicher zu ändern, beispielsweise wenn das Zertifikat im aktuellen Schlüsselspeicher bald abläuft. Sie müssen den Edge-Router nicht neu starten , um den Wert des Verweises zu ändern. Weitere Informationen zum Erstellen und Ändern von Verweisen finden Sie unter Mit Verweisen arbeiten für mehr.
Sie können nur einen Verweis auf den Schlüsselspeicher und Truststore verwenden. Sie können keinen Verweis auf den Alias verwenden. Wenn Sie den Verweis auf einen Schlüsselspeicher ändern, achten Sie darauf, dass der Aliasname des Zertifikats mit dem alten Schlüsselspeicher identisch ist.
Einschränkungen bei der Verwendung von Verweisen auf Schlüsselspeicher und Truststore
Wenn Sie Verweise auf Schlüsselspeicher und Truststores verwenden, müssen Sie die folgende Einschränkung berücksichtigen:
- Sie können Schlüsselspeicher- und Truststore-Verweise nur auf virtuellen Hosts verwenden, wenn Sie SNI unterstützen und Sie SSL auf den Apigee-Routern beenden.
- Wenn Sie einen Load-Balancer vor den Apigee-Routern haben und die TLS auf dem Load-Balancer beenden, können Sie keine Schlüsselspeicher- und Truststore-Verweise in virtuellen Hosts verwenden.
Virtuellen Host für die bidirektionale TLS erstellen
Wenn Sie die bidirektionale TLS aktivieren möchten, setzen Sie das <ClientAuthEnabled> Element auf
true, und geben Sie einen Truststore an.
Nutzen Sie dazu einen Verweis mit dem <TrustStore> Element. Der Truststore
enthält den Aussteller des Clientzertifikats und die CA-Kette des Zertifikats, die erforderlich sind. Der Client
muss auch für die bidirektionale TLS richtig konfiguriert sein.
Wenn Sie einen virtuellen Host für die bidirektionale TLS erstellen möchten, erstellen Sie ein XML-Objekt, das den virtuellen Host definiert:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
<TrustStore>ref://myTestTruststoreRef</TrustStore>
</SSLInfo>
</VirtualHost>In dieser Definition:
- Aktivieren Sie die bidirektionale TLS, indem Sie
<ClientAuthEnabled>auf „true“ setzen. - Geben Sie den Verweis auf den Truststore mit dem
<TrustStore>Element an. Der Truststore enthält den Aussteller des Clientzertifikats und die CA-Kette des Zertifikats, die erforderlich sind.
Weitere Informationen zur Verwendung von TLS finden Sie unter TLS/SSL.
Virtuellen Host ändern
Ein Cloud-Kunde mit einem kostenpflichtigen Konto und alle Edge for Private Cloud-Kunden können einen virtuellen Host mit der API zum Aktualisieren eines virtuellen Hosts aktualisieren. Mit dieser API können Sie alle Attribute für den virtuellen Host festlegen, die unter Referenz zu Attributen virtueller Hosts beschrieben sind.
Aktualisieren Sie den virtuellen Host mit der API zum Aktualisieren eines virtuellen Hosts. Wenn Sie die API verwenden, müssen Sie die vollständige Definition von dem virtuellen Host im Anfragetext angeben, nicht nur die Elemente, die Sie ändern möchten.
In diesem Beispiel legen Sie den Wert des Attributs proxy_read_timeout fest:
curl -X PUT -H "Content-Type:application/xml" \
https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \
-d '<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>
<Properties>
<Property name="proxy_read_timeout">50</Property>
</Properties>
</VirtualHost>' \
-u orgAdminEmail:passwordVirtuellen Host löschen
Bevor Sie einen virtuellen Host aus einer Umgebung löschen können, müssen Sie alle API-Proxys aktualisieren, die auf den virtuellen Host verweisen, um den Verweis zu entfernen. Weitere Informationen finden Sie unter API-Proxy für die Verwendung eines virtuellen Hosts konfigurieren.
Löschen Sie den virtuellen Host mit der API zum Löschen eines virtuellen Hosts:
curl -X DELETE \ https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \ -u orgAdminEmail:password
Informationen zu einem virtuellen Host ansehen
Sehen Sie sich wie unten beschrieben Informationen zu den in einer Umgebung definierten virtuellen Hosts an.
Edge
So rufen Sie Informationen zu einem virtuellen Host über die Edge-UI auf:
- Melden Sie sich unter apigee.com/edge an.
Edge for Private Cloud-Kunden verwenden
http://ms-ip:9000(lokal), wobei ms-ip die IP-Adresse oder der DNS-Name des Management Server-Knotens ist. - Wählen Sie in der linken Navigationsleiste Admin > Virtuelle Hosts aus.
- Wählen Sie die Umgebung aus, z. B. prod oder test.
Die für die Umgebung definierten virtuellen Hosts werden angezeigt. Wenn der virtuelle Host für die Verwendung eines Schlüsselspeichers oder Truststores konfiguriert ist, klicken Sie auf Anzeigen , um weitere Informationen zu sehen.
Wenn der virtuelle Host für die Verwendung von TLS/SSL konfiguriert ist, wird neben dem Namen des virtuellen Hosts ein Schlosssymbol angezeigt. Das bedeutet, dass ein TLS/SSL-Zertifikat, ein Schlüssel und eine Zertifikatskette in Edge hochgeladen und dem virtuellen Host zugeordnet wurden. So rufen Sie Informationen zu den verfügbaren Zertifikaten auf:
- Wählen Sie in der linken Navigationsleiste Admin > Umgebung > TLS-Schlüsselspeicher aus.
- Wählen Sie die Umgebung aus (in der Regel
prododertest). - Maximieren Sie die Schlüsselspeicher, um das Zertifikat aufzurufen.
Klassisches Edge (Private Cloud)
So rufen Sie Informationen zu einem virtuellen Host über die klassische Edge-UI auf:
- Melden Sie sich unter
http://ms-ip:9000an, wobei ms-ip die IP-Adresse oder der DNS-Name des Management Server-Knotens ist. - Wählen Sie in der linken Navigationsleiste Admin > Virtuelle Hosts aus.
- Wählen Sie die Umgebung aus, z. B. prod oder test.
- Klicken Sie auf den Tab Virtuelle Hosts.
Die für die Umgebung definierten virtuellen Hosts werden angezeigt. Wenn der virtuelle Host für die Verwendung eines Schlüsselspeichers oder Truststores konfiguriert ist, klicken Sie auf Anzeigen , um weitere Informationen zu sehen.

Wenn der virtuelle Host für die Verwendung von TLS/SSL konfiguriert ist, wird neben dem Namen des virtuellen Hosts ein Schlosssymbol angezeigt. Das bedeutet, dass ein TLS/SSL-Zertifikat, ein Schlüssel und eine Zertifikatskette in Edge hochgeladen und dem virtuellen Host zugeordnet wurden. So rufen Sie Informationen zu den verfügbaren Zertifikaten auf:
- Wählen Sie in der oberen Navigationsleiste Admin > TLS-Zertifikate aus.
- Wählen Sie die Umgebung aus (in der Regel
prododertest). - Maximieren Sie die Schlüsselspeicher, um das Zertifikat aufzurufen.
Virtuellen Host mit der Edge API aufrufen
Sie können auch die Edge APIs verwenden, um Informationen zu virtuellen Hosts aufzurufen. Die API zum Auflisten virtueller Hosts gibt beispielsweise eine Liste aller virtuellen Hosts zurück:
curl -X GET -H "accept:application/xml" \
https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts \
-u orgAdminEmail:pWordDabei ist orgAdminEmail:pWord der Nutzername und das Passwort des Admin der Organisation und org_name/env_name geben die Organisation und Umgebung an, die den virtuellen Host enthalten. Beispielantwort:
[ "default", "secure" ]
Wenn Sie Informationen zu einem bestimmten virtuellen Host aufrufen möchten, verwenden Sie die API zum Abrufen eines virtuellen Hosts:
curl -X GET -H "accept:application/xml" \
https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \
-u orgAdminEmail:pWordDabei ist „vhost_name“ der Name des virtuellen Hosts. Sie können beispielsweise vhost_name als "secure" angeben, um die Konfiguration des standardmäßigen sicheren virtuellen Hosts zu sehen, der von Apigee erstellt wurde:
<VirtualHost name="secure">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<Properties/>
<Interfaces/>
<RetryOptions/>
<SSLInfo>
<ClientAuthEnabled>false</ClientAuthEnabled>
<Enabled>true</Enabled>
<KeyAlias>freetrial</KeyAlias>
<KeyStore>ref://freetrial</KeyStore>
<IgnoreValidationErrors>false</IgnoreValidationErrors>
</SSLInfo>
</VirtualHost>API-Proxy für die Verwendung eines virtuellen Hosts konfigurieren
Wenn Sie einen neuen API-Proxy erstellen, konfiguriert Edge ihn automatisch für die Verwendung aller verfügbaren virtuellen Hosts in der Organisation. Eine Anfrage an einen API-Proxy über einen virtuellen Host hat das folgende Format:
https://host-alias/proxy-base-path/resource-path
Dabei gilt:
- host-alias ist in der Regel der DNS-Name des virtuellen Hosts.
- proxy-base-path wird beim Erstellen eines API-Proxys definiert und ist für jeden API-Proxy eindeutig.
- resource-path ist der Pfad zu einer Ressource, auf die über den API-Proxy zugegriffen werden kann.
Virtuelle Hosts steuern, die von einem API-Proxy verwendet werden
In der XML-Konfiguration eines API-Proxys geben Sie mit dem virtualhost Tag den
Namen des virtuellen Hosts an, der mit dem API-Proxy verknüpft ist:
<HTTPProxyConnection> <BasePath>/v1/my/proxy/basepath</BasePath> <VirtualHost>secure</VirtualHost> <VirtualHost>default</VirtualHost> </HTTPProxyConnection>
Beispielsweise bedeutet <VirtualHost>secure</VirtualHost>, dass
ein Client den API-Proxy mit dem Host-Alias des virtuellen Hosts „secure“ aufrufen kann.
In der Regel ändern Sie die virtuellen Hosts, die mit einem API-Proxy verknüpft sind, in folgenden Fällen:
- Sie erstellen einen neuen virtuellen Host und haben vorhandene API-Proxys. Sie müssen alle vorhandenen API Proxys bearbeiten, um den neuen virtuellen Host hinzuzufügen.
- Sie erstellen einen neuen API-Proxy, der nicht über einen bestimmten virtuellen Host zugänglich sein soll. Sie müssen den API-Proxy bearbeiten, um diesen virtuellen Host aus der Definition zu entfernen.
So ändern Sie die virtuellen Hosts, die mit einem API-Proxy verknüpft sind:
-
Rufen Sie wie unten beschrieben den API-Proxy-Editor auf.
Edge
So rufen Sie den API-Proxy-Editor über die Edge-UI auf:
- Melden Sie sich unter apigee.com/edge an.
Edge for Private Cloud-Kunden verwenden
http://ms-ip:9000(lokal), wobei ms-ip die IP-Adresse oder der DNS-Name des Management Server-Knotens ist. - Wählen Sie in der linken Navigationsleiste Entwickeln > API-Proxys aus.
- Wählen Sie in der Liste den API-Proxy aus, den Sie bearbeiten möchten.
Klassisches Edge (Private Cloud)
So rufen Sie den API-Proxy-Editor über die klassische Edge-UI auf:
- Melden Sie sich unter
http://ms-ip:9000an, wobei ms-ip die IP-Adresse oder der DNS-Name des Management Server-Knotens ist. - Wählen Sie in der oberen Navigationsleiste APIs > API-Proxys aus.
- Wählen Sie in der Liste den API-Proxy aus, den Sie bearbeiten möchten.
- Melden Sie sich unter apigee.com/edge an.
- Klicken Sie auf den Tab Entwickeln.
- Wählen Sie unter Proxy-Endpunkte die Option default aus.
- Im Codebereich:
- Entfernen Sie alle
<VirtualHost>-Elemente für virtuelle Hosts, die vom API-Proxy nicht unterstützt werden. - Fügen Sie ein neues
<VirtualHost>Element mit dem Namen des neuen virtuellen Hosts hinzu. Wenn der neue virtuelle Host beispielsweise MyVirtualHost heißt, fügen Sie das folgende Tag hinzu:
<HTTPProxyConnection> <BasePath>/v1/my/proxy/basepath</BasePath> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> <VirtualHost>MyVirtualHost</VirtualHost> </HTTPProxyConnection>
- Entfernen Sie alle
- Speichern Sie den API-Proxy. Wenn der API-Proxy bereitgestellt wurde, wird er durch das Speichern mit der neuen Einstellung neu bereitgestellt.
Basis-URL festlegen, die von der Edge-UI für einen API-Proxy angezeigt wird
Die Edge-UI zeigt die URL eines API-Proxys basierend auf den Einstellungen im virtuellen Host an, die dem Ort entsprechen, an dem der Proxy bereitgestellt wird. Diese Anzeige kann die Router-Portnummer des virtuellen Hosts enthalten.
In den meisten Fällen ist die in der Edge-UI angezeigte URL die richtige URL für externe Anfragen an den Proxy. Bei einigen Konfigurationen ist die angezeigte URL jedoch nicht korrekt. Beispielsweise kann eine der folgenden Konfigurationen dazu führen, dass die angezeigte URL nicht der tatsächlichen URL entspricht, die für externe Anfragen an den Proxy verwendet wird:
- SSL-Beendigung erfolgt an einem Load-Balancer.
- Portzuordnung zwischen einem Load-Balancer und Apigee-Routern
- Ein Load-Balancer, der mit Pfadumschreibung konfiguriert ist
Edge unterstützt ein Attribut für den virtuellen Host namens <BaseUrl>, mit dem
Sie die von der Edge-UI angezeigte URL überschreiben können. Hier ein Beispiel für das virtuelle Host-Objekt
mit dem <BaseUrl> Attribut.
In diesem Beispiel wird in der Edge-UI der Wert „http://myCo.com“ angezeigt:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<BaseUrl>http://myCo.com</BaseUrl>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>
</VirtualHost>Der Wert von <BaseUrl> muss das Protokoll enthalten (z. B. "http://" oder
"https://").
Wenn <BaseUrl> nicht festgelegt ist, wird die von der Edge-UI gerenderte Standard-URL
als „api.myCompany.com“ angezeigt, während der tatsächliche Host-Alias „http://myCo.com“ ist.