Edge for Private Cloud Version 4.17.09
Ein virtueller Host auf Edge definiert die Domains und Edge-Router-Ports, über die ein API-Proxy verfügbar gemacht wird, und danach die URL, die Anwendungen zum Zugriff auf einen API-Proxy verwenden. Ein virtueller Host definiert auch, ob über das HTTP-Protokoll oder das verschlüsselte HTTPS-Protokoll auf den API-Proxy zugegriffen wird.
Im Rahmen des Edge-Onboardingprozesses müssen Sie eine Organisation, eine Umgebung und einen virtuellen Host erstellen. Edge bietet den Befehl setup-org, um neuen Nutzern diesen Vorgang zu erleichtern.
Wenn Sie den virtuellen Host erstellen, müssen Sie die folgenden Informationen angeben:
- Der Name des virtuellen Hosts, auf den Sie in Ihren API-Proxys verweisen.
- Der Port auf dem Router für den virtuellen Host. Normalerweise beginnen diese Ports bei 9001 und werden für jeden neuen virtuellen Host um eins erhöht.
- Der Host-Alias des virtuellen Hosts. In der Regel der DNS-Name des virtuellen Hosts.
In einer Konfigurationsdatei, die an den Befehl setup-org übergeben wird, können Sie diese Informationen beispielsweise so angeben:
# Specify virtual host information. VHOST_PORT=9001 VHOST_NAME=default # If you have a DNS entry for the virtual host. VHOST_ALIAS=myapis.apigee.net
Der Edge Router vergleicht den Host-Header der eingehenden Anfrage mit der Liste der verfügbaren Host-Aliasse, um den API-Proxy zu bestimmen, der die Anfrage verarbeitet. Wenn Sie eine Anfrage über einen virtuellen Host stellen, geben Sie entweder einen Domainnamen an, der mit dem Host-Alias eines virtuellen Hosts übereinstimmt, oder geben Sie die IP-Adresse des Routers und den Host-Header an, der den Host-Alias enthält.
Wenn Sie beispielsweise einen virtuellen Host mit dem Hostalias „myapis.apigee.net“ auf Port 9001 erstellt haben, kann eine cURL-Anfrage an eine API über diesen virtuellen Host eines der folgenden Formate verwenden:
- Wenn Sie einen DNS-Eintrag für myapis.apigee.net haben:
curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path} - Wenn Sie keinen DNS-Eintrag für myapis.apigee.net haben:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'
In diesem Formular geben Sie die IP-Adresse des Routers an und übergeben den Hostalias in der Kopfzeile Host.
Hinweis: Der cURL-Befehl, die meisten Browser und viele andere Dienstprogramme fügen der Host-Header automatisch die Domain als Teil der Anfrage hinzu. Sie können also einen cURL-Befehl in der folgenden Form verwenden:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
Optionen, wenn Sie keinen DNS-Eintrag für den virtuellen Host haben
Wenn Sie keinen DNS-Eintrag haben, können Sie den Host-Alias auf die IP-Adresse des Routers und den Port des virtuellen Hosts als <routerIP>:port festlegen. Beispiel:
VHOST_ALIAS=192.168.1.31:9001
Dann geben Sie einen curl-Befehl in der folgenden Form ein:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
Diese Option wird bevorzugt, da sie gut mit der Edge-Benutzeroberfläche funktioniert.
Wenn Sie mehrere Router haben, fügen Sie für jeden Router einen Host-Alias hinzu und geben Sie die IP-Adresse jedes Routers und den Port des virtuellen Hosts an:
# Specify the IP and port of each router as a space-separated list enclosed in quotes: # VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"
Alternativ können Sie den Host-Alias auf einen Wert wie temp.hostalias.com festlegen. Dann müssen Sie bei jeder Anfrage den Header Host übergeben:
curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'host: temp.hostalias.com'
Alternativ können Sie den Host-Alias der Datei /etc/hosts hinzufügen. Fügen Sie beispielsweise diese Zeile zu /etc/hosts hinzu:
192.168.1.31 temp.hostalias.com
Dann können Sie eine Anfrage stellen, als ob Sie einen DNS-Eintrag hätten:
curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}