Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Możesz określić, że jeden serwer proxy jest docelowym punktem końcowym innego serwera proxy, co spowoduje połączenie tych 2 serwerów proxy w łańcuch. Łączenie serwerów proxy w ten sposób może pomóc uniknąć przeskoku sieciowego, a tym samym poprawić ogólną wydajność.
W przypadku łączenia serwerów proxy określasz, że jeden serwer proxy jest lokalnym docelowym punktem końcowym drugiego.
Zamiast używać elementu HTTPTargetConnection do wywołania drugiego
serwera proxy, używasz elementu LocalTargetConnection.
<LocalTargetConnection>
<APIProxy>myproxy2</APIProxy>
<ProxyEndpoint>default</ProxyEndpoint>
</LocalTargetConnection>Łączenie serwerów proxy może być przydatne, gdy masz serwer proxy, który oferuje pewne dyskretne funkcje niskiego poziomu które będą wykorzystywane przez inne serwery proxy. Na przykład serwer proxy, który udostępnia operacje tworzenia, odczytu, aktualizacji i usuwania w przypadku zaplecza magazynu danych, może być docelowym serwerem proxy dla wielu innych serwerów proxy, które udostępniają dane klientom.
Film: obejrzyj krótki film, aby dowiedzieć się więcej o łączeniu serwerów proxy interfejsu API.
Jak działa łączenie serwerów proxy
Łączenie serwerów proxy wykorzystuje połączenie lokalne, aby zminimalizować obciążenie sieci podczas wywoływania jednego serwera proxy z innego. To połączenie lokalne jest bardziej wydajne, ponieważ omija funkcje sieciowe, takie jak moduły równoważenia obciążenia, routery i procesory wiadomości.
Poniżej przedstawiono różnicę między łączeniem serwerów proxy za pomocą HTTPTargetConnection
a LocalTargetConnection (łączenie serwerów proxy):


Serwery proxy łączysz, określając, że jeden z nich jest lokalnym docelowym punktem końcowym drugiego. Połączenie lokalne między serwerami proxy możesz utworzyć na 2 sposoby:
- Określając nazwę docelowego serwera proxy i nazwę
ProxyEndpoint. - Określając ścieżkę do docelowego serwera proxy.
Docelowe serwery proxy łączysz w konfiguracji TargetEndpoint za pomocą elementu
LocalTargetConnection, jak opisano poniżej.
Łączenie serwerów proxy według nazwy serwera proxy
Docelowy serwer proxy możesz określić według nazwy. Może to być najbardziej przydatne, gdy tworzysz połączenie od początku i opracowujesz serwery proxy razem. Jeśli nie znasz nazwy (lub nazwa może się zmienić), rozważ połączenie ze ścieżką punktu końcowego docelowego serwera proxy, jak opisano poniżej.
Gdy łączysz się z docelowym serwerem proxy według nazwy, określasz nazwę serwera proxy i nazwę jego
ProxyEndpoint.
W tym przykładzie określono docelowy serwer proxy o nazwie data-manager, a także
nazwę ProxyEndpoint udostępnianą przez data-manager. Informacje referencyjne znajdziesz w artykule Konfiguracja 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ć według ścieżki punktu końcowego. Możesz to zrobić, gdy nie znasz nazwy serwera proxy lub gdy nazwa może się zmienić.
Jeśli serwer proxy jest tylko odbiorcą docelowego serwera proxy (np. gdy nie opracowujesz obu serwerów proxy), ścieżka może być najbardziej niezawodnym sposobem połączenia. Jeśli na przykład serwer proxy, z którym się łączysz, jest opracowywany i utrzymywany przez inny zespół, możesz połączyć się za pomocą niezawodnej ścieżki punktu końcowego.
W tym przykładzie określono docelowy serwer proxy pod adresem
/v1/streetcarts/foodcarts/data-manager, gdzie host jest taki sam jak
w przypadku bieżącego serwera proxy. Informacje referencyjne znajdziesz w artykule Konfiguracja 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 za pomocą konsoli zarządzania
Połączenia łańcuchowe serwerów proxy możesz tworzyć za pomocą konsoli zarządzania Edge.
- Otwórz serwer proxy, który będzie korzystać z docelowego serwera proxy.
- W Nawigatorze kliknij znak plusa obok opcji Docelowe punkty końcowe.
- W oknie Nowy docelowy punkt końcowy wpisz nazwę docelowego punktu końcowego.
- Pod polem Nazwa docelowego punktu końcowego wybierz jedną z tych opcji:
-
Łączenie serwerów proxy , aby wybrać serwer proxy z listy serwerów proxy, które są już w organizacji i
środowisku.
- W menu Nazwa serwera proxy wybierz docelowy serwer proxy.
- W polu Punkt końcowy serwera proxy wpisz ścieżkę docelowego punktu końcowego serwera proxy, z którym chcesz się połączyć.
- Łączenie ścieżek , aby wpisać podstawową ścieżkę docelowego serwera proxy, np.
/mypath/myproxy/myendpoint.
-
Łączenie serwerów proxy , aby wybrać serwer proxy z listy serwerów proxy, które są już w organizacji i
środowisku.
- Kliknij Dodaj.
Połączone serwery proxy, produkty API i bezpieczeństwo
Łączenie serwerów proxy najlepiej sprawdza się w przypadkach, gdy oba serwery proxy znajdują się w tym samym produkcie API. Domyślnie, oba są dostępne dla klientów. Apigee nie obsługuje obecnie łączenia drugiego serwera proxy w osobny produkt 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, która spowoduje, że drugi serwer proxy będzie sprawdzać adres IP klienta. W przypadku wywołania za pomocą łączenia adres IP będzie lokalny. Kod może sprawdzić, czy jest lokalny, zanim zezwoli na dalsze przetwarzanie. Jednym ze sposobów na to jest użycie zasady kontroli dostępu.