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 damit auch die URL, die Apps für den Zugriff auf einen API-Proxy verwenden. Ein virtueller Host definiert auch, ob auf den API-Proxy über das HTTP-Protokoll oder das verschlüsselte HTTPS -Protokoll zugegriffen wird.

Im Rahmen der Edge-Registrierung müssen Sie eine Organisation, eine Umgebung und einen virtuellen Host erstellen. Edge bietet den Befehl setup-org, um diesen Vorgang 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.
  • Der Port des Routers für den virtuellen Host. Diese Ports beginnen in der Regel 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-Aliase, um den API-Proxy zu bestimmen, der 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 die IP-Adresse des Routers und den Host Header mit dem Host-Alias.

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

  • 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 dieser Form geben Sie die IP-Adresse des Routers an und übergeben den Host-Alias 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 Host-Alias auf die IP-Adresse des Routers und den Port des virtuellen Hosts festlegen, z. B. routerIP:port.

VHOST_ALIAS=192.168.1.31:9001

Dann erstellen Sie einen curl-Befehl in der folgenden Form:

curl http://routerIP:9001/proxy-base-path/resource-path

Diese Option wird bevorzugt, da sie gut mit der neuen Edge-UI funktioniert.

Wenn Sie mehrere Router haben, fügen Sie für jeden Router einen Host-Alias hinzu und geben Sie die IP-Adresse von jedem Router 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 den Host-Header in jeder Anfrage übergeben:

curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'host: temp.hostalias.com'

Oder fügen Sie den Host-Alias Ihrer Datei /etc/hosts hinzu. Fügen Sie beispielsweise diese Zeile zu /etc/hosts hinzu:

192.168.1.31   temp.hostalias.com

Dann können Sie eine Anfrage so stellen, als hätten Sie einen DNS-Eintrag:

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