Edge for Private Cloud Version 4.17.05
Ein virtueller Host in Edge definiert die Domains und Edge Router-Ports, an denen ein API-Proxy ausgeführt wird , und somit auch die URL, über die Apps auf einen API-Proxy zugreifen. Ein virtueller Host definiert, ob auf den API-Proxy über das HTTP-Protokoll oder das verschlüsselte HTTPS zugegriffen wird Protokoll.
Im Rahmen des Edge-Onboardingprozesses müssen Sie eine Organisation, Umgebung und virtueller Host. Mit dem Befehl setup-org neuen Nutzenden diesen Vorgang erleichtern.
Beim Erstellen des virtuellen Hosts müssen Sie die folgenden Informationen angeben:
- Der Name des virtuellen Hosts, den Sie verwenden, um in Ihrer API darauf zu verweisen Proxys.
- Der Port auf dem Router für den virtuellen Host. In der Regel werden diese Ports bei 9001 beginnen und für jeden neuen virtuellen Host um eins erhöhen.
- Host-Alias des virtuellen Hosts. In der Regel ist der DNS-Name des virtueller Host.
In einer Konfigurationsdatei, die an den Befehl setup-org übergeben wird, haben Sie beispielsweise können diese Informationen folgendermaßen 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 des eine eingehende Anfrage an die Liste der verfügbaren Host-Aliase an, damit der API-Proxy ermittelt wird, die Anfrage verarbeitet. Wenn Sie eine Anfrage über einen virtuellen Host senden, 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, der Host-Alias.
Wenn Sie beispielsweise einen virtuellen Host mit dem Host-Alias myapis.apigee.net auf Port erstellt haben 9001 hat, kann eine cURL-Anfrage an eine API über diesen virtuellen Host Folgendes verwenden: Formulare:
- 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 Host-Alias in der Host-Header.
Hinweis: Der cURL-Befehl, die meisten Browser und viele andere Dienstprogramme werden automatisch fügen Sie den Header Host mit dem Domain als Teil der Anfrage. Sie können also einen cURL-Befehl im folgenden Format verwenden:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
Optionen, wenn Sie kein DNS haben Eintrag für den virtuellen Host
Wenn Sie keinen DNS-Eintrag haben, können Sie den Host-Alias auf die IP-Adresse des Router und Port des virtuellen Hosts als <routerIP>:port. Beispiel:
VHOST_ALIAS=192.168.1.31:9001
Dann erstellen Sie einen curl-Befehl im folgenden Format:
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 einen Host-Alias hinzu. Geben Sie dabei die IP-Adresse jeden Router und Port des virtuellen Hosts:
# 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 Hostalias auf einen Wert festlegen, z. B. als temp.hostalias.com. Anschließend müssen Sie den Header Host auf jedem Anfrage:
curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'host: temp.hostalias.com'
Alternativ können Sie den Host-Alias in die Datei /etc/hosts einfügen. Fügen Sie beispielsweise diese Zeile an /etc/hosts:
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}
Geschützten Port in einem virtuellen Host verwenden
Wenn Sie einen virtuellen Host erstellen möchten, der den Router an einen geschützten Port bindet, z. B. einen Port unter 1000 haben, müssen Sie den Router so konfigurieren, dass er als Nutzer mit Zugriff auf für diese Ports. Standardmäßig wird der Router als Benutzer „apigee“ ausgeführt die keinen Zugriff auf privilegierten Ports zugewiesen sind.
So führen Sie den Router als ein anderer Nutzer aus:
- Erstellen Sie als Root die Datei /opt/apigee/etc/edge-router.d/RUN_USER.sh.
- Fügen Sie der Datei den folgenden Eintrag hinzu:
RUN_USER=root
Wenn Sie den Router nicht als Root ausführen möchten, geben Sie einen Nutzer mit Zugriff auf den Port an. - Speichern Sie die Datei.
- Wenn Sie einen anderen Nutzer als „root“ angegeben haben, ändern Sie den Eigentümer der Datei zu diesem Nutzer:
> chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh - Router neu starten:
> /opt/apigee/apigee-service/bin/apigee-service Edge-Router-Neustart