Jak wysyłać bezpośrednie żądania do routerów lub procesorów

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Wstęp

Podczas rozwiązywania problemów możesz chcieć uruchamiać interfejsy API bezpośrednio na komponentach Apigee, takich jak router lub procesor wiadomości. Możesz to zrobić na przykład, aby:

  • Zdebuguj przejściowe problemy związane z niektórymi żądaniami do interfejsu API, które wskazują na problem z konkretnym komponentem Apigee (routerem/procesorem wiadomości).
  • Aby zbierać więcej informacji diagnostycznych, włącz tryb debugowania w konkretnej instancji komponentu Apigee.
  • Wyklucz problem, który jest spowodowany przez konkretny komponent Apigee.
  • Sprawdź, czy operacje takie jak wytworzenie nowej instancji lub ponowne uruchomienie instancji przyniosą oczekiwany efekt.

Wymagania wstępne

  • Bezpośredni dostęp do routera lub komponentów procesora wiadomości, względem których należy uruchamiać żądania do interfejsu API.
  • Narzędzie cURL należy zainstalować w konkretnym wystąpieniu komponentu.
  • Żądanie do interfejsu API, które chcesz przetestować, w formacie cURL.

    Oto na przykład polecenie curl, które pozwala wysłać żądanie do serwera proxy interfejsu API z komputera lokalnego:

    curl https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
    curl https://myorg-test.mycompany.com/v1/customers
    

Jak uruchamiać żądania API bezpośrednio na routerach Apigee

Scenariusz 1. Żądania API wysyłane do aliasu hosta wskazującego routery

Jeśli wpis DNS aliasu hosta jest skonfigurowany w taki sposób, aby wskazywał routery Apigee Edge (czyli nie ma elastycznego systemu równoważenia obciążenia), możesz użyć tych poleceń curl, aby wysyłać żądania API bezpośrednio do routera:

  • Host wirtualny skonfigurowany do niezabezpieczonej komunikacji przez port 80

    curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Na przykład:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Host wirtualny jest skonfigurowany tak, aby wyłączał SSL na porcie 443 routera

    curl -v --resolve HOST_ALIAS:443:127.0.0.1 https://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Na przykład:

    curl -v --resolve myorg-test.mycompany.com:443:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    

Scenariusz 2. Żądania API wysyłane do aliasu hosta wskazującego na ELB

Jeśli wpis DNS aliasu hosta jest skonfigurowany w taki sposób, aby wskazywać elastyczny system równoważenia obciążenia (ELB), możesz użyć tych poleceń curl, aby wysyłać żądania API bezpośrednio do routera:

  • Host wirtualny skonfigurowany do niezabezpieczonej komunikacji przez port 80

    curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Na przykład:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Host wirtualny skonfigurowany pod kątem wysokiego portu, a protokół SSL kończy się w systemie równoważenia obciążenia przed routerem Apigee

    curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 http:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Na przykład:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Host wirtualny skonfigurowany pod kątem wysokiego portu, a protokół SSL kończy się na routerze Apigee

    Oznacza to, że system równoważenia obciążenia jest skonfigurowany tak, aby używać przekazywania TCP do routera Apigee.

    curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 https:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Na przykład:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    

Jak uruchamiać żądania bezpośrednio do procesorów wiadomości Apigee

Scenariusz 1. Żądanie API do procesora wiadomości przez domyślny port 8998

Domyślnym portem, na którym procesor wiadomości nasłuchuje ruchu z routera Apigee, jest port 8998. Dlatego we wszystkich przypadkach, w których ten port nie został zmieniony, ruch musi być kierowany bezpośrednio na ten port w określonej instancji procesora wiadomości, jak w poniższym przykładzie. Żądanie curl należy wysłać na adres URL http://INTERNAL_IP_OF_MP:8998 wraz z nagłówkiem X-Apigee.Host z wartością nazwy hosta zawierającą port używany w hostach wirtualnych, tak jak w tych 3 przykładach:

  • Host wirtualny jest skonfigurowany pod kątem zakończenia SSL na routerze

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
    

    Na przykład:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
    
  • Host wirtualny jest skonfigurowany pod kątem „wysokiego portu”, a zakończenie SSL odbywa się w systemie równoważenia obciążenia LUB na routerze Apigee:

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
    

    Na przykład:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
    
  • Host wirtualny jest skonfigurowany do domyślnego portu http 80

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:80'
    

    Na przykład:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    

Scenariusz 2. Żądanie API do procesora wiadomości przez port SSL 8443

Można skonfigurować komunikację SSL między routerem a procesorem wiadomości. W poniższych przykładach używany jest port 8443 (port sugerowany w dokumentacji Apigee).

  • Host wirtualny jest skonfigurowany pod kątem zakończenia SSL na routerze

    curl -v -k https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
    

    Na przykład:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    
  • Host wirtualny jest skonfigurowany pod kątem zakończenia SSL w systemie równoważenia obciążenia, a ruch jest przekierowywany do wysokiego portu do routera

    curl -v https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
    

    Na przykład:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'