Virtuelle Hosts für die private Cloud konfigurieren

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Bei einer lokalen Installation haben Sie vollständige Kontrolle über virtuelle Hosts. Sie können virtuelle Hosts für beliebige Organisationen und Umgebungen mit oder ohne TLS.

In diesem Dokument wird beschrieben, wie Sie einen einfachen virtuellen Host erstellen. Das heißt, eine, die nicht TLS unterstützt. Weitere Beispiele, einschließlich Beispielen zum Erstellen virtueller Hosts, die TLS unterstützen, Siehe TLS konfigurieren API-Zugriff für die Private Cloud

Weitere Informationen:

Informationen zu Host-Aliassen

<ph type="x-smartling-placeholder">

Beim Erstellen des virtuellen Hosts müssen Sie den Host-Alias des virtuellen Hosts angeben. In der Regel ist dies der DNS-Name des virtuellen Hosts.

Der Edge Router vergleicht den Host-Header der eingehenden Anfrage mit dem Liste der verfügbaren Host-Aliasse als Teil der Bestimmung des API-Proxys, der die Anfrage verarbeitet. Wenn Sie eine Anfrage über einen virtuellen Host senden, geben Sie entweder einen Domainnamen an, der mit dem Host übereinstimmt Alias eines virtuellen Hosts 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 Host-Alias myapis.apigee.net an Port 9001, dann eine cURL-Anfrage an eine API über diesen virtuellen Host eine der folgenden Formen 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 Host-Alias in der Host-Header.

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

Optionen Sie haben keinen DNS-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. Hier einige Beispiele:

192.168.1.31:9001

Wenn Sie einen curl-Befehl im folgenden Format erstellen:

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. temp.hostalias.com. Anschließend müssen Sie den Host-Header bei jeder Anfrage übergeben:

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 diese Zeile beispielsweise /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

Informationen zu virtuellen Host-Ports in Edge für Private Cloud 4.16.01 und höher

Beim Erstellen eines virtuellen Hosts geben Sie den vom virtuellen Host verwendeten Routerport an. Für Beispiel: Port 9001.

Bei Apigee for Private Cloud-Releases 4.16.01 und höher wird der Router standardmäßig als der Benutzer „Apigee“ die keinen Zugriff auf privilegierte Ports hat, in der Regel Port 1024 und niedriger. Wenn Sie einen virtuellen Host erstellen möchten, der den Router an einen geschützten Port bindet, konfigurieren Sie den Router so, dass er als Nutzer mit Zugriff auf diese Ports ausgeführt wird. Weitere Informationen finden Sie unter Virtuellen Host einrichten.

Virtuelle Hosts erstellen

In diesem Abschnitt wird beschrieben, wie Sie virtuelle Hosts für Apigee Edge for Private Cloud erstellen. Zum Erstellen einer neuen virtueller Host zu verwalten ist, müssen Sie Administrator der Organisation sein.

Sie können virtuelle Hosts für Apigee Edge für Private Cloud entweder mit der API oder der Edge-Benutzeroberfläche erstellen. Dies sind die in den folgenden Abschnitten beschrieben werden.

Virtuellen Host mit einem Browser erstellen

In diesem Abschnitt wird beschrieben, wie Sie einen virtuellen Host mithilfe eines Browsers erstellen (nur Edge-Benutzeroberfläche).

So erstellen Sie einen neuen virtuellen Host in der Edge-Benutzeroberfläche:

  1. Melden Sie sich bei der Edge-Verwaltungsbenutzeroberfläche an.
  2. Wählen Sie Verwaltung > Virtuelle Hosts
  3. Wählen Sie die Umgebung aus der Drop-down-Liste aus.

    Edge zeigt eine Liste der virtuellen Hosts für diese Umgebung an.

  4. Wählen Sie zum Erstellen eines neuen virtuellen Hosts + Virtual Host aus.

    Edge zeigt das Formular Create Virtual Host (Virtuellen Host erstellen) an.

    Sie können auch auf den Namen eines vorhandenen virtuellen Hosts klicken, um ihn zu bearbeiten.

  5. Definieren Sie Ihren neuen virtuellen Host. Das Feld Basis-URL muss den Parameter Protokoll: Stellen Sie dem Feldwert „http://“ oder „https://“ voran.

    Beachten Sie außerdem Folgendes:

    • Sie können beliebig viele virtuelle Hosts erstellen
    • TLS ist optional und kann Version 1.0, 1.1 oder 1.2 sein
    • Der Port des virtuellen Hosts ist konfigurierbar
  6. Klicken Sie auf die Schaltfläche Erstellen, um den neuen virtuellen Host zu speichern.

Virtuellen Host mit der API erstellen

Um einen virtuellen Host mit der API zu erstellen, erstellen Sie ein XML-Objekt, das den virtueller Host. Beispielsweise definiert das folgende XML-Objekt einen virtuellen Host, der das HTTP- Protokoll:

<VirtualHost name="myVHost">
   <HostAliases>
     <HostAlias>DNS_name_or_IP:port</HostAlias>
   </HostAliases>
   <Interfaces/>
   <Port>9005</Port>
</VirtualHost>

Beachten Sie, dass der virtuelle Host das Attribut name enthält. Sie verwenden den Wert der name, um einen API-Proxy für die Verwendung des virtuellen Hosts zu konfigurieren.

Sie können dann über diesen virtuellen Host auf einen API-Proxy zugreifen, indem Sie eine Anfrage an:

http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-path

Wobei:

  • http oder https: Wenn der virtuelle Host so konfiguriert ist, TLS unterstützen, verwenden Sie HTTPS. Wenn der virtuelle Host TLS nicht unterstützt, verwenden Sie HTTP.
  • routerIP:port ist die IP-Adresse und Portnummer des virtuellen Hosts.
  • proxy-base-path und resource-path werden beim Erstellen des API-Proxy.

Normalerweise veröffentlichen Sie Ihre APIs nicht für Kunden mit einer IP-Adresse und Portnummer. Stattdessen definieren Sie einen DNS-Eintrag für den Router und den Port. Beispiel:

http://api.myCompany.com/proxy-base-path/resource-path
https://api.myCompany.com/proxy-base-path/resource-path

Wenn Sie den DNS-Eintrag definieren, müssen Sie einen Host-Alias für den virtuellen Host erstellen. der mit dem Domainnamen des DNS-Eintrags übereinstimmt. Der Host-Alias muss mit dem String übereinstimmen, den übergibt der Client im Host-Header. Im obigen Beispiel würden Sie den Hostalias api.myCompany.com angeben.

<VirtualHost name="myVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Interfaces/>
    <Port>9005</Port>
</VirtualHost>

So erstellen Sie einen virtuellen Host, der das HTTP-Protokoll verwendet:

  1. Erstellen Sie den virtuellen Host mithilfe der Erstellen Sie Virtual Host API, wobei ms-IP für IP-Adresse oder Domainname des Verwaltungsserverknotens:
    $ curl -X POST -H "Content-Type:application/xml" \
    http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \
    -d '<VirtualHost name="newVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>9005</Port>
      </VirtualHost>' \
    -u sysAdminEmail:password
  2. Erstellen Sie den DNS-Eintrag für den virtuellen Host, der mit dem Hostalias übereinstimmt.
  3. Wenn Sie bereits API-Proxys haben, fügen Sie den virtuellen Host zum <HTTPConnection>-Element hinzu im Proxy-Endpunkt. Der virtuelle Host wird allen neuen API-Proxys automatisch hinzugefügt. Weitere Informationen finden Sie unter . API-Proxy für die Verwendung eines virtuellen Hosts konfigurieren

Virtuellen Host ändern

So ändern Sie einen virtuellen Host:

  1. Aktualisieren Sie den virtuellen Host mithilfe der <ph type="x-smartling-placeholder"></ph> Aktualisieren Sie eine Virtual Host API, wobei <ms-IP> die IP-Adresse ist oder Domainname des Verwaltungsserverknotens. Sie müssen die vollständige Definition der virtueller Host im Anfragetext, nicht nur die Elemente, die Sie ändern möchten. In dieser Sie können beispielsweise die Portnummer des virtuellen Hosts von 9008 in 9009 ändern:

    curl -X PUT -H "Content-Type:application/xml" \
      http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \
      -d '<VirtualHost name="newVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>9009</Port>
      </VirtualHost>' \
      -u email:password
  2. Nur bei Edge for Private Cloud-Versionen 4.16.01 und 4.16.05: Wenn Sie einen vorhandenen virtuellen Host und Sie aktivieren entweder TLS oder deaktivieren TLS, ohne den Port zu ändern Zahl, dann: <ph type="x-smartling-placeholder">
      </ph>
    1. Halten Sie den Router an:

      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
    2. Löschen Sie alle Dateien in /opt/nginx/conf.d:

      rm -f /opt/nginx/conf.d/*
    3. Starten Sie den Router:

      /opt/apigee/apigee-service/bin/apigee-service edge-router start
    4. Wiederholen Sie diese Schritte für alle Router.