Łączenie serwerów proxy API

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Możesz określić, że jeden serwer proxy jest docelowym punktem końcowym drugiego, co skutecznie łączy w łańcuchu serwerów proxy. Takie łańcuch serwerów proxy może pomóc uniknąć przeskoku sieciowego. co zwiększa ogólną wydajność.

.

Łańcuch serwerów proxy pozwala określić, że jeden serwer proxy jest lokalnym docelowym punktem końcowym drugiego. Zamiast używać elementu HTTPTargetConnection do wywoływania drugiej funkcji z serwera proxy, użyj elementu LocalTargetConnection.

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

Łańcuchy łańcuchów proxy mogą być przydatne, gdy korzystasz z serwera proxy, który oferuje dyskretny algorytm z których będą korzystać inne serwery proxy. Na przykład serwer proxy, który udostępnia Operacje tworzenia, odczytu, aktualizacji i usuwania przy użyciu magazynu danych backendu mogą być docelowym serwerem proxy dla wiele innych serwerów proxy, które udostępniają dane klientom.

Film: obejrzyj krótki film, aby dowiedzieć się więcej o łańcuchu serwerów proxy interfejsów API.

Jak działa łańcuch proxy

Łańcuch serwerów proxy wykorzystuje połączenie lokalne, aby zminimalizować narzut sieci podczas wywoływania jednego serwera proxy od innego. Takie połączenie lokalne jest bardziej wydajne, ponieważ omija funkcje sieciowe, takich jak systemy równoważenia obciążenia, routery i procesory wiadomości.

Poniżej przedstawiono różnicę między łączeniem serwerów proxy za pomocą interfejsu HTTPTargetConnection. i LocalTargetConnection (łańcuch serwerów proxy):

Serwery proxy należy połączyć, wskazując, że jeden z nich jest lokalnym docelowym punktem końcowym drugiego. Dostępne opcje możesz utworzyć lokalne połączenie między serwerami proxy na 2 sposoby:

  • Podaj nazwę docelowego serwera proxy i nazwę ProxyEndpoint
  • Podaj ścieżkę do docelowego punktu końcowego serwera proxy

Docelowe serwery proxy łączysz w konfiguracji TargetEndpoint za pomocą LocalTargetConnection, jak opisano poniżej.

Łączenie serwerów proxy według nazwy serwera proxy

Docelowy serwer proxy możesz określić, używając nazwy. Jest to najbardziej przydatne, gdy tworząc połączenie od samego początku i tworząc serwery proxy. Jeśli nie znasz (lub nazwa może się zmienić), rozważ nawiązanie połączenia ze ścieżką punktu końcowego docelowego serwera proxy, tak opisane poniżej.

Podczas łączenia się z docelowym serwerem proxy według nazwy podajesz nazwę serwera proxy i jego nazwę ProxyEndpoint

W poniższym przykładzie określono docelowy serwer proxy o nazwie data-manager, a także nazwa ProxyEndpoint widoczna dla użytkownika data-manager. Do celów informacyjnych więcej informacji znajdziesz w dokumentacji konfiguracji serwera proxy interfejsu API.

<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>

Łączenie serwerów proxy według ścieżki

Docelowy serwer proxy możesz określić, używając ścieżki jego punktu końcowego. Warto zrobić to w ten sposób, nie znasz nazwy serwera proxy lub nie wiesz, kiedy może się ona zmienić.

Jeśli serwer proxy jest po prostu konsumentem docelowego serwera proxy – na przykład jeśli nie tworzysz aplikacji obydwa te sposoby – może to być najbardziej niezawodny sposób połączenia. Jeśli na przykład korzystasz z serwera proxy i jest opracowywane i obsługiwane przez inny zespół, możesz nawiązać połączenie za pomocą niezawodną ścieżkę punktu końcowego.

Poniższy przykład określa docelowy serwer proxy w: /v1/streetcarts/foodcarts/data-manager, gdzie zakłada się, że host jest taki sam jak obecny serwer proxy. Informacje znajdziesz w dokumentacji konfiguracji serwera proxy interfejsu API.

<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>

Łączenie serwerów proxy z systemem zarządzania konsola

Połączenia łańcuchowe serwerów proxy możesz tworzyć za pomocą konsoli zarządzania Edge.

  1. Otwórz serwer proxy, który będzie korzystać z docelowego serwera proxy.
  2. W Nawigatorze kliknij znak plusa obok opcji Docelowe punkty końcowe.
  3. W oknie New Target Endpoint (Nowy docelowy punkt końcowy) wpisz nazwę docelowego punktu końcowego.
  4. Pod polem Target Endpoint Name (Nazwa punktu końcowego) wybierz jedną z tych opcji:
    • łańcuch serwerów proxy, aby wybrać serwery proxy z listy, które są już w organizacji; dla środowiska.
      1. W menu Nazwa serwera proxy wybierz docelowy serwer proxy.
      2. W polu Proxy Endpoint (Punkt końcowy serwera proxy) wpisz ścieżkę docelowego punktu końcowego serwera proxy, nawiązać połączenie.
    • Łańcuch ścieżek, aby wpisać ścieżkę bazową docelowego serwera proxy, na przykład /mypath/myproxy/myendpoint
  5. Kliknij Dodaj.

Łańcuchowe serwery proxy, usługi API i zabezpieczenia

Łańcuch serwerów proxy sprawdza się najlepiej w sytuacjach, gdy oba serwery proxy są w tej samej usłudze API. Domyślnie które są dostępne dla klientów. Apigee nie obsługuje obecnie grupowania drugiego serwera proxy w oddzielnym interfejsem API, do którego klienci nie powinni mieć dostępu.

Jeśli drugi serwer proxy musi być zabezpieczony przed bezpośrednimi żądaniami klientów, rozważ dodanie logiki do drugi serwer proxy powinien sprawdzić adres IP klienta. W przypadku połączenia nawiązywanego przez w łańcuchu, adres IP będzie lokalny. Twój kod może potwierdzić, że jest lokalny, zanim zezwolisz na jego instalację aby kontynuować. Zobacz zasady kontroli dostępu dotyczące jednego z nich jak to zrobić.