Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation weitere Informationen
In Edge verarbeitet ein Router den gesamten eingehenden API-Traffic. Das bedeutet, dass alle HTTP- und HTTPS-Anfragen an einen API-Proxy zuerst von einem Edge Router verarbeitet werden.
Mit einem virtuellen Host können Sie mehrere Domainnamen auf einem Server hosten. Bei Edge entspricht der Server einem Edge Router. Durch die Definition mehrerer virtueller Hosts auf einem Router kann der Router API-Anfragen an mehrere Domainnamen verarbeiten.
Ein virtueller Host in Edge definiert das Zugriffsprotokoll (HTTP oder HTTPS), einen offenen Router-Port und einen Hostalias. Der Host-Alias ist normalerweise der DNS-Domainname, der der IP-Adresse des Routers zugeordnet ist.
Die folgende Abbildung zeigt beispielsweise einen Router mit zwei virtuellen Hostdefinitionen:
Der erste virtuelle Host verarbeitet HTTPS-Anfragen in der Domain domainName1 und der zweite HTTP-Anfragen an domainName2.
Bei einer Anfrage an einen API-Proxy vergleicht der Router den Host
-Header der eingehenden Anfrage mit der Liste der Hostaliasse, die von allen virtuellen Hosts definiert werden, um zu bestimmen, welcher virtuelle Host die Anfrage verarbeitet.
Definitionen virtueller Hosts
Virtuelle Hosts enthalten die folgenden Informationen:
- Der interne Name des virtuellen Hosts. Sie verwenden diesen Namen, um auf den virtuellen Host in Ihren API-Proxys zu verweisen und beim Konfigurieren des virtuellen Hosts.
- Der Hostalias des virtuellen Hosts. In der Regel ist der Hostalias der DNS-Domainname, der der IP-Adresse des Routers zugeordnet ist. Der
Host
-Header einer API-Proxy-Anfrage muss den Hostalias des virtuellen Hosts enthalten. - Einen offenen Port auf dem Router.
- Gibt an, ob TLS (HTTPS-Zugriff) aktiviert ist oder nicht (HTTP-Zugriff).
Wenn Sie einen virtuellen Host erstellen, geben Sie beispielsweise die folgenden Informationen an:
- name = myvhost
- Hostalias = apis.acme.com
- Port = 443
- TLS ist aktiviert
Basierend auf der obigen Einstellung für den virtuellen Host wird bei einer Anfrage an einen API-Proxy das folgende Format verwendet:
https://apis.acme.com/{proxy-base-path}/{resource-path}
Dabei gilt:
- {proxy-base-path} wird beim Erstellen eines API-Proxys definiert und ist für jeden API-Proxy eindeutig.
Beispiel:
https://apis.acme.com/characters
- {resource-path} ist der Pfad zu einer Ressource, auf die über den API-Proxy zugegriffen werden kann. Beispiel:
https://apis.acme.com/characters/coyote https://apis.acme.com/characters/roadrunner
Informationen zu virtuellen Hosts in Edge für die Cloud
Jede Edge-Organisation umfasst automatisch zwei Umgebungen (test
und prod
), zwei virtuelle Hosts in jeder Umgebung (Standard und secure) sowie DNS-Einträge für jeden Hostalias.
Der Hostalias jedes von Apigee bereitgestellten virtuellen Hosts enthält den Namen der Organisation und der Umgebung, wie in der folgenden Tabelle dargestellt:
Environment | Name des virtuellen Hosts | Host alias | Port | TLS aktiviert |
---|---|---|---|---|
prod | Standardeinstellung | {org-name}-prod.apigee.net |
80 | Nein |
geschützt? | {org-name}-prod.apigee.net |
443 | Ja | |
Test | Standardeinstellung | {org-name}-test.apigee.net |
80 | Nein |
geschützt? | {org-name}-test.apigee.net |
443 | Ja |
Der Standarddomainname einer Organisation namens „myorg
“ in der Umgebung prod
ist beispielsweise „myorg-prod.apigee.net
“. Um auf einen API-Proxy in dieser Organisation zuzugreifen, verwenden Sie daher eine URL im folgenden Format:
http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path} https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
Kostenpflichtige Apigee-Tarife: Ein Domainname, der "apigee.net" enthält, ist möglicherweise nicht das, was Sie Ihren Kunden zur Verfügung stellen möchten. Sie können einen DNS-Eintrag und einen CNAME-Eintrag verwenden, um Ihrer Organisation in Edge einen Domainnamen zuzuordnen. Außerdem müssen Sie einen virtuellen Host erstellen, bei dem der Hostalias auf diesen Domainnamen festgelegt ist. So können Entwickler über eine unternehmensspezifische Domain auf Ihre API zugreifen.
Hier ist ein Beispiel für eine benutzerdefinierte Domain in Edge:
https://apis.acme.com/{proxy-base-path}/{resource-path}
Informationen zu virtuellen Hosts in Edge für Private Cloud
Wenn Sie Apigee Edge für die Private Cloud installieren, werden keine Standardorganisationen, -umgebungen oder -virtuellen Hosts für Sie erstellt. Nachdem Sie die Edge-Installation abgeschlossen haben, besteht Ihre erste Aktion in der Regel darin, im Rahmen des Onboarding-Prozesses eine Organisation, eine Umgebung und einen virtuellen Host zu erstellen.
Führen Sie den folgenden Befehl auf dem Edge Management Server-Knoten aus, um das Onboarding durchzuführen:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
Dabei enthält configFile die Informationen, die zum Erstellen eines Nutzers, einer Organisation, einer Umgebung und eines virtuellen Hosts erforderlich sind.
Sie erstellen beispielsweise:
- Ein Nutzer Ihrer Wahl, der als Organisationsadministrator fungiert.
- Eine Organisation mit dem Namen
example
- Eine Umgebung in der Organisation mit dem Namen
prod
- Ein virtueller Host in der Umgebung mit dem Namen
default
, der HTTP-Zugriff auf Port 9001 zulässt - Ein Hostalias des DNS-Namens, der für den Zugriff auf den Router verwendet wird, oder die IP-Adresse des Routers und den Port des virtuellen Hosts im Format
IP:9001
.
Sie können Ihrer lokalen Version von Edge später eine beliebige Anzahl von Organisationen, Umgebungen und virtuellen Hosts hinzufügen. Weitere Informationen finden Sie unter:
Virtuelle Hosts werden auf dem Edge Router geöffnet. Daher muss der für den virtuellen Host angegebene Port auf dem Router offen sein. Sie können einen Befehl im folgenden Format verwenden, um einen Port zu öffnen:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose
Nachdem Sie diesen Befehl ausgeführt haben, können Sie mithilfe einer URL im folgenden Format auf Ihre APIs zugreifen:
http://<router-ip>:9001/{proxy-base-path}/{resource-path}
In der Regel werden APIs nicht mit einer IP-Adresse und Portnummer für Kunden veröffentlicht. Stattdessen definieren Sie einen DNS-Eintrag für den Router und den Port. Beispiel:
http://myAPI.myCo.com/{proxy-base-path}/{resource-path}
Wenn Sie den DNS-Eintrag definieren, müssen Sie auch einen virtuellen Host mit einem Hostalias erstellen, der mit dem Domainnamen des DNS-Eintrags übereinstimmt. Im obigen Beispiel würden Sie beim Erstellen des virtuellen Hosts den Hostalias myAPI.myCo.com angeben.
Host-Aliasse und DNS-Namen
Eine Eigenschaft, die Sie für einen virtuellen Host festlegen, ist der Hostalias. Der Hostalias ist in der Regel der DNS-Name des virtuellen Hosts. Wie Sie den Hostalias festlegen, hängt von der Art der Edge-Installation ab: Cloud oder Private Cloud.
Hostaliasse und DNS-Namen in Edge für die Cloud
Wenn Sie in Edge for the Cloud zum ersten Mal eine Edge-Organisation erstellen, erstellt Apigee automatisch zwei Umgebungen (test
und prod
), zwei virtuelle Hosts in jeder Umgebung (Standard und secure) und DNS-Einträge für jeden virtuellen Host.
Der Hostalias der virtuellen Hosts enthält den Namen der Organisation und der Umgebung. Eine Anfrage über einen virtuellen Host hat daher die folgende Form:
http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
In der Regel möchten Sie virtuelle Hosts erstellen, die Ihren Domainnamen verwenden, anstatt die Standarddomain apigee.net
zu verwenden. Dazu müssen Sie zuerst einen eigenen DNS-Eintrag und CNAME-Eintrag erstellen.
Die folgende Abbildung zeigt eine typische Konfiguration dafür, wie Edge eine API-Anfrage verarbeitet:
In diesem Fall gilt Folgendes:
- api.acme.com ist der gewünschte Domainname.
- Sie definieren einen DNS-Eintrag und einen CNAME-Eintrag, um api.acme.com auf acme-prod.apigee.net zu verweisen.
- Die Anfrage enthält den Header
Host
, mit dem der Router den virtuellen Host ermittelt, der die Anfrage verarbeitet.
In diesem Beispiel geben Sie die folgenden Informationen in der Definition eines virtuellen Hosts an:
- name = myvhost
- Hostalias = apis.acme.com
- Port = 443
- TLS-Zugriff aktivieren
Weitere Informationen finden Sie unter Virtuelle Hosts für die Cloud konfigurieren.
Hostalias und DNS-Namen in Edge für Private Cloud
Wie bei Edge für die Cloud erstellen Sie virtuelle Hosts, die Ihren eigenen Domainnamen als Hostalias verwenden. Anschließend erstellen Sie Ihren eigenen DNS-Eintrag und CNAME-Eintrag, um auf diese virtuellen Hosts zuzugreifen.
Einer der Unterschiede zwischen der Cloud und der privaten Cloud besteht darin, dass in Cloud Apigee automatisch DNS-Namen für Ihre Organisationen in folgendem Format erstellt wurden:
- name=default:
http://{org-name}-{env-name}.apigee.net
(Router port 80) - name=secure:
https://{org-name}-{env-name}.apigee.net
(Router port 443)
In Edge für die Private Cloud müssen Sie die DNS-Einträge für die IP-Adresse und den Port Ihres Routers erstellen.
Beispielsweise geben Sie diese Informationen in der Definition eines virtuellen Hosts an:
- name = myvhost
- Hostalias = apis.acme.com
- Port = 9001
- TLS-Zugriff aktivieren
Die folgende Abbildung zeigt eine typische Konfiguration dafür, wie Edge eine API-Anfrage verarbeitet:
In diesem Fall gilt Folgendes:
- api.acme.com ist der gewünschte Domainname.
- Sie definieren einen DNS-Eintrag und einen CNAME-Eintrag, um api.acme.com auf die IP-Adresse und den Port des Routers zu verweisen.
- Die Anfrage enthält den Header
Host
, mit dem der Router den virtuellen Host ermittelt, der die Anfrage verarbeitet.
Weitere Informationen finden Sie unter Virtuelle Hosts für die Private Cloud konfigurieren.
Hostalias und Platzhalter
Sie können das Platzhalterzeichen „*“ in den Hostalias einfügen. Das Platzhalterzeichen „*“ darf nur am Anfang (vor dem ersten „.“) des Hostalias stehen und nicht mit anderen Zeichen vermischt werden.
Im Folgenden finden Sie ein Beispiel für einen gültigen Hostalias mit einem Platzhalter:
*.example.com
Die folgenden Beispiele sind ungültig:
www.*.example.com w*.example.com
Durch die Verwendung eines Platzhalters in einem virtuellen Hostalias können API-Proxys Aufrufe verarbeiten, die an mehrere Subdomains wie alpha.example.com
, beta.example.com
oder live.example.com
adressiert sind. Außerdem können Sie mit einem Platzhalteralias weniger virtuelle Hosts pro Umgebung verwenden, um die Produktlimits einzuhalten, da ein virtueller Host mit einem Platzhalter nur als ein virtueller Host gezählt wird.
Das TLS-Zertifikat für den virtuellen Host muss im CN-Namen des Zertifikats einen übereinstimmenden Platzhalter haben.
Beispiel: *.example.com
.
Informationen zu den Eigenschaften virtueller Hosts
In Edge wird ein virtueller Host durch ein XML-Objekt dargestellt. Das folgende XML-Objekt definiert beispielsweise einen virtuellen Host:
<VirtualHost name="vhostName"> <HostAliases> <HostAlias>hostAlias</HostAlias> </HostAliases> <Interfaces> <!-- Private Cloud only --> <Interface>interfaceName</Interface> <Port>portNumber</Port> <BaseURL>http://myCo.com<</BaseUrl> <OCSPStapling>off</OCSPStapling> <RetryOptions/> <SSLInfo> <Enabled>trueFalse</Enabled> <ClientAuthEnabled>trueFalse</ClientAuthEnabled> <KeyStore>ref://keystoreRef</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>ref://truststoreRef</TrustStore> <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors> </SSLInfo> <Properties> <Property name="proxy_read_timeout">timeout</Property> <Property name="keepalive_timeout">timeout</Property> <Property name="proxy_request_buffering">onOff</Property> <Property name="proxy_buffering">onOff</Property> <Property name="ssl_protocols">protocolList</Property> <Property name="ssl_ciphers">cipherList</Property> </Properties> </VirtualHost>
Die Liste der Attribute, die Sie festlegen können, hängt davon ab, ob Sie Edge für die Cloud oder Edge für die private Cloud verwenden. Wenn Sie Edge für die Private Cloud verwenden, hängt die Liste der verfügbaren Attribute auch von Ihrer Edge-Version ab. Eine vollständige Beschreibung aller Attribute eines virtuellen Hosts finden Sie unter Referenz zu virtuellen Hostattributen.
Weitere Informationen zum Erstellen virtueller Hosts für Ihre spezielle Version von Edge finden Sie unter: