Virtuellen Host einrichten

Ein virtueller Host in Edge definiert die Domains und Edge-Router-Ports, auf denen ein API-Proxy verfügbar gemacht wird, und folglich auch die URL, mit der Apps auf einen API-Proxy zugreifen. Ein virtueller Host definiert außerdem, ob der Zugriff auf den API-Proxy über das HTTP-Protokoll oder über das verschlüsselte HTTPS-Protokoll erfolgt.

Im Rahmen des Edge-Onboarding-Prozesses müssen Sie eine Organisation, eine Umgebung und einen virtuellen Host erstellen. Edge bietet den Befehl setup-org, um diesen Prozess für neue Nutzer zu vereinfachen.

Wenn Sie den virtuellen Host erstellen, müssen Sie die folgenden Informationen angeben:

  • Der Name des virtuellen Hosts, mit dem Sie in Ihren API-Proxys darauf verweisen.
  • Port des Routers für den virtuellen Host. Normalerweise beginnen diese Ports bei 9001 und werden mit jedem neuen virtuellen Host um 1 erhöht.
  • Hostalias des virtuellen Hosts. In der Regel der DNS-Name des virtuellen Hosts.

Sie können diese Informationen beispielsweise in einer Konfigurationsdatei, die an den Befehl setup-org übergeben wird, 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 Hostaliasse, 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 Hostalias eines virtuellen Hosts übereinstimmt, oder geben Sie die IP-Adresse des Routers und den Host-Header an, der den Hostalias enthält.

Wenn Sie beispielsweise einen virtuellen Host mit dem Hostalias myapis.apigee.net an Port 9001 erstellt haben, kann eine cURL-Anfrage an eine API über diesen virtuellen Host eine der folgenden Formen verwenden:

  • Wenn ein DNS-Eintrag für myapis.apigee.net vorliegt:
    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 im Host-Header.

Optionen, wenn Sie keinen DNS-Eintrag für den virtuellen Host haben

Wenn Sie keinen DNS-Eintrag haben, können Sie den Hostalias 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 führen Sie einen curl-Befehl in der folgenden Form aus:

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 Hostalias 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 Hostalias 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 der Datei /etc/hosts den Hostalias hinzufügen. Fügen Sie beispielsweise diese Zeile zu /etc/hosts hinzu:

192.168.1.31   temp.hostalias.com

Sie können dann eine Anfrage wie einen DNS-Eintrag stellen:

curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path