API-Proxys verketten

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

Sie können angeben, dass ein Proxy der Zielendpunkt eines anderen sein soll, wodurch die beiden Proxys in einer Proxykette miteinander verbunden werden. Durch diese Art der Verkettung von Proxys können Sie einen Netzwerk-Hop vermeiden und so die Gesamtleistung verbessern.

Bei der Proxy-Verkettung geben Sie an, dass ein Proxy der lokale Zielendpunkt des anderen ist. Anstatt das Element HTTPTargetConnection zum Aufrufen des zweiten Proxys zu verwenden, verwenden Sie das Element LocalTargetConnection.

<LocalTargetConnection>
    <APIProxy>myproxy2</APIProxy>
    <ProxyEndpoint>default</ProxyEndpoint>
</LocalTargetConnection>

Die Proxyverkettung kann nützlich sein, wenn Sie einen Proxy haben, der eine diskrete Low-Level-Funktionalität bietet, die andere Proxys nutzen. Ein Proxy, der Vorgänge zum Erstellen/Lesen/Aktualisieren/Löschen mit einem Back-End-Datenspeicher verfügbar macht, kann beispielsweise der Zielproxy für mehrere andere Proxys sein, die die Daten für Clients verfügbar machen.

Video: Schauen Sie sich ein kurzes Video an, um mehr über die API-Proxyverkettung zu erfahren.

Funktionsweise der Proxyverkettung

Die Proxyverkettung verwendet eine lokale Verbindung, um den Netzwerk-Overhead beim Aufrufen eines Proxys von einem anderen Proxy zu minimieren. Diese lokale Verbindung ist effizienter, weil sie Netzwerkfunktionen wie Load-Balancer, Router und Nachrichtenverarbeiter umgeht.

Im Folgenden wird der Unterschied zwischen dem Verbinden von Proxys mit HTTPTargetConnection dargestellt und LocalTargetConnection (Proxy-Verkettung):

Um Proxys zu verbinden, geben Sie an, dass einer der Proxys ein lokaler Zielendpunkt des anderen ist. Sie können Erstellen Sie auf zwei Arten eine lokale Verbindung zwischen Proxys:

  • Durch Angabe des Namens des Zielproxys und eines ProxyEndpoint-Namens
  • Sie geben einen Pfad zum Zielproxy-Endpunkt an.

Sie verbinden Zielproxys innerhalb einer TargetEndpoint-Konfiguration mithilfe des Elements LocalTargetConnection, wie unten beschrieben.

Proxys nach Proxynamen verbinden

Sie können den Zielproxy nach Namen angeben. Dies kann nützlich sein, wenn Sie die Verbindung von Anfang an erstellen und die Proxys gemeinsam entwickeln. Wenn Sie den Namen nicht kennen (oder der Name sich möglicherweise ändert), sollten Sie eine Verbindung mit dem Endpunktpfad des Zielproxys herstellen, wie unten beschrieben.

Wenn Sie eine Verbindung zu einem Zielproxy durch einen Namen herstellen, geben Sie den Namen des Proxys und den Namen seines ProxyEndpoint an.

Im folgenden Beispiel wird ein Zielproxy namens data-manager sowie der von data-manager bereitgestellte ProxyEndpoint-Name angegeben. Weitere Informationen finden Sie in der Referenz zur API-Proxy-Konfiguration.

<TargetEndpoint name="datamanager">
    <PreFlow name="PreFlow">
        <!-- PreFlow policies -->
    </PreFlow>
    <PostFlow name="PostFlow">
        <!-- PostFlow policies -->
    </PostFlow>
    <LocalTargetConnection>
        <APIProxy>data-manager</APIProxy>
        <ProxyEndpoint>default</ProxyEndpoint>
    </LocalTargetConnection>
</TargetEndpoint>

Proxys nach Pfad verbinden

Sie können den Zielproxy durch seinen Endpunktpfad angeben. Dies ist zum Beispiel sinnvoll, wenn Sie den Proxynamen nicht kennen oder der Name sich ändert.

Wenn Ihr Proxy einfach der Nutzer des Zielproxys ist, z. B. wenn Sie nicht für die Entwicklung ist der Pfad möglicherweise der zuverlässigste Weg, um eine Verbindung herzustellen. Wenn der Proxy, zu dem Sie eine Verbindung herstellen, beispielsweise von einem anderen Team entwickelt und verwaltet wird, können Sie eine Verbindung mit einem zuverlässigen Endpunktpfad herstellen.

Im folgenden Beispiel wird ein Zielproxy unter /v1/streetcarts/foodcarts/data-manager angegeben, wobei davon ausgegangen wird, dass der Host mit dem aktuellen Proxy identisch ist. Weitere Informationen finden Sie in der Referenz zur API-Proxy-Konfiguration.

<TargetEndpoint name="datamanager">
    <PreFlow name="PreFlow">
        <!-- PreFlow policies -->
    </PreFlow>
    <PostFlow name="PostFlow">
        <!-- PostFlow policies -->
    </PostFlow>
    <LocalTargetConnection>
        <Path>/v1/streetcarts/foodcarts/data-manager</Path> 
    </LocalTargetConnection>
</TargetEndpoint>

Proxys mit der Verwaltung verbinden Console

Sie können Proxy-Verkettungsverbindungen mit der Edge-Verwaltungskonsole erstellen.

  1. Öffnen Sie den Proxy, der den Zielproxy verwenden soll.
  2. Klicken Sie in der Navigation auf das Pluszeichen neben Zielendpunkte.
  3. Geben Sie im Dialogfeld Neuer Zielendpunkt den Namen des Zielendpunkts ein.
  4. Wählen Sie unter dem Feld Zielendpunktname eine der folgenden Optionen aus:
    • Proxyverkettung zur Auswahl aus einer Liste von Proxys, die bereits in der Organisation und Umgebung vorhanden sind.
      1. Wählen Sie im Drop-down-Feld Proxyname den Zielproxy aus.
      2. Geben Sie im Feld Proxy-Endpunkt den Zielproxy-Endpunktpfad ein, mit dem Sie eine Verbindung herstellen möchten.
    • Pfadverkettung, um den Basispfad des Zielproxys einzugeben, z. B. /mypath/myproxy/myendpoint.
  5. Klicken Sie auf Add.

Verkettete Proxys, API-Produkte und Sicherheit

Die Proxy-Verkettung ist ideal, wenn sich beide Proxys im selben API-Produkt befinden. Standardmäßig sind beide Clients für die Kunden verfügbar. Apigee unterstützt derzeit nicht, dass der zweite Proxy in einem separaten API-Produkt gebündelt wird, auf das Clients keinen Zugriff haben sollten.

Wenn Ihr zweiter Proxy gegen direkte Clientanfragen gesichert werden muss, sollten Sie eine Logik hinzufügen, damit Ihr zweiter Proxy die IP-Adresse des Clients prüft. Bei einem Aufruf über die Kette ist die IP-Adresse lokal. Ihr Code kann prüfen, ob er lokal ist, bevor die Verarbeitung fortgesetzt werden kann. Eine Möglichkeit hierzu finden Sie in der Zugriffssteuerungsrichtlinie.