Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Możesz określić, że jeden serwer proxy jest docelowym punktem końcowym innego, skutecznie łącząc 2 serwery proxy w łańcuchu serwerów proxy. Ten sposób łańcucha serwerów proxy może uniknąć przeskoków sieci i zwiększyć ogólną wydajność.
Łańcuchy proxy pozwalają określić, że jeden z nich jest lokalnym punktem końcowym innego serwera.
Zamiast używać elementu HTTPTargetConnection
do wywoływania drugiego serwera proxy, użyj elementu LocalTargetConnection
.
<LocalTargetConnection> <APIProxy>myproxy2</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
Tworzenie łańcuchów serwerów proxy może być przydatne, gdy korzystasz z serwera proxy, który oferuje pewne dyskretne, niskopoziomowe funkcje, z których będą korzystać inne serwery proxy. Na przykład serwer proxy, który udostępnia operacje tworzenia, odczytu, aktualizacji i usuwania z magazynem danych backendu, 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 łańcuchu serwerów proxy interfejsów API.
Jak działa łańcuch proxy
Łańcuch proxy korzysta z połączenia lokalnego, by zminimalizować obciążenie sieci podczas wywoływania jednego serwera proxy z innego. To połączenie lokalne jest wydajniejsze, ponieważ pomija funkcje sieciowe, takie jak systemy równoważenia obciążenia, routery i procesory wiadomości.
Poniżej przedstawiamy różnicę między łączeniem serwerów proxy przy użyciu HTTPTargetConnection
i LocalTargetConnection
(łańcuch proxy):
Możesz połączyć serwery proxy, określając, że jeden z nich jest lokalnym docelowym punktem końcowym drugiego. Lokalne połączenie między serwerami proxy możesz utworzyć na 2 sposoby:
- Podając nazwę docelowego serwera proxy i nazwę
ProxyEndpoint
- Podając ścieżkę do docelowego punktu końcowego serwera proxy
Docelowe serwery proxy łączysz w konfiguracji TargetEndpoint
za pomocą elementu LocalTargetConnection
w sposób opisany poniżej.
Łączenie serwerów proxy według nazwy serwera proxy
Docelowy serwer proxy możesz podać za pomocą nazwy. Może się to okazać najbardziej przydatne podczas tworzenia połączenia od samego początku i tworzenia serwerów proxy. Jeśli nie znasz nazwy (lub może się ona zmienić), rozważ nawiązanie połączenia ze ścieżką punktu końcowego docelowego serwera proxy w sposób opisany poniżej.
Podczas łączenia się z docelowym serwerem proxy przez podanie nazwy podajesz jego nazwę i ProxyEndpoint
.
Poniższy przykład określa docelowy serwer proxy o nazwie data-manager
oraz nazwę ProxyEndpoint
ujawnianą przez data-manager
. 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ć według ścieżki punktu końcowego. Warto to zrobić, gdy nie znasz nazwy serwera proxy lub gdy ta nazwa może się zmienić.
Jeśli serwer proxy jest po prostu konsumentem docelowego serwera proxy – na przykład gdy nie tworzysz obu – ścieżka może być najpewniejszym sposobem na nawiązanie połączenia. Jeśli na przykład serwer proxy, z którym się łączysz, został stworzony i utrzymywany przez inny zespół, możesz nawiązać połączenie za pomocą niezawodnej ścieżki punktu końcowego.
Poniższy przykład określa docelowy serwer proxy w lokalizacji /v1/streetcarts/foodcarts/data-manager
, gdzie zakłada się, że host jest taki sam jak bieżący serwer proxy. Więcej informacji znajdziesz w dokumentacji dotyczącej 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 konsolą zarządzania
Połączenia łańcuchowe serwerów proxy możesz tworzyć za pomocą konsoli zarządzania brzegowymi.
- Otwórz serwer proxy, który będzie korzystać z docelowego serwera proxy.
- W Nawigatorze kliknij znak plusa obok pozycji Target Endpoints (Punkty końcowe).
- W oknie Nowy docelowy punkt końcowy wpisz nazwę docelowego punktu końcowego.
- Poniżej pola Nazwa punktu końcowego docelowego wybierz jedną z tych opcji:
-
Łańcuch serwerów proxy, aby wybrać z listy serwerów proxy już istniejących 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 nawiązać połączenie.
- Łańcuch ścieżek, by wpisać ścieżkę bazową docelowego serwera proxy, na przykład
/mypath/myproxy/myendpoint
.
-
Łańcuch serwerów proxy, aby wybrać z listy serwerów proxy już istniejących w organizacji i środowisku.
- Kliknij Dodaj.
Połączone serwery proxy, usługi API i zabezpieczenia
Łańcuch proxy najlepiej sprawdza się w sytuacjach, gdy oba serwery proxy są w tej samej usłudze API. Domyślnie obie te usługi są dostępne dla klientów. Apigee nie obsługuje obecnie łączenia drugiego serwera proxy w oddzielnej usłudze API, do której klienci nie powinni mieć dostępu.
Jeśli drugi serwer proxy musi być zabezpieczony przed bezpośrednimi żądaniami klienta, rozważ dodanie logiki, aby drugi serwer proxy sprawdzał adres IP klienta. W przypadku wywołania za pomocą łańcucha adres IP jest lokalny. Zanim zezwolisz na przetwarzanie, Twój kod może potwierdzić, że jest on lokalny. Jeden z tych sposobów znajdziesz w zasadach kontroli dostępu.