Virtuellen Host einrichten

Edge for Private Cloud Version 4.17.01

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.

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 an. des Routers und übergeben Sie den Host-Alias im Host-Header.

    Hinweis: Der Befehl „curl“, die meisten Browser und viele andere Dienstprogramme werden automatisch den Host-Header mit der Domain als Teil der Anfrage anhängen, sodass Sie tatsächlich einen curl-Befehl verwenden können, im Format:


    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:

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.

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 kleiner als 1024 ist, 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:

  1. Erstellen Sie als Root die Datei /opt/apigee/etc/edge-router.d/RUN_USER.sh.
  2. 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.
  3. Speichern Sie die Datei.
  4. Wenn Sie einen anderen Nutzer als „root“ angegeben haben, ändern Sie den Eigentümer der Datei zu diesem Nutzer:
    &gt; chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh
  5. Router neu starten:
    &gt; /opt/apigee/apigee-service/bin/apigee-service Edge-Router-Neustart