Как делать прямые запросы API к маршрутизаторам или обработчикам сообщений

Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee
X.info

Введение

При устранении неполадок может потребоваться выполнять API-запросы непосредственно к компонентам Apigee, таким как маршрутизатор или обработчик сообщений. Например, это может потребоваться для следующих целей:

  • Устранение периодически возникающих проблем с некоторыми API-запросами, указывающих на проблему в конкретном компоненте Apigee (маршрутизаторе/обработчике сообщений).
  • Для получения более подробной диагностической информации включите режим отладки для конкретного экземпляра компонента Apigee.
  • Исключите возможность того, что проблема вызвана конкретным компонентом Apigee.
  • Выясните, дают ли такие операции, как создание нового экземпляра или перезапуск существующего, желаемый результат.

Предварительные требования

  • Прямой доступ к компонентам маршрутизатора или обработчика сообщений, к которым необходимо выполнять запросы API.
  • Инструмент cURL необходимо установить на конкретном экземпляре компонента.
  • API-запрос, который вы хотите протестировать, в формате cURL.

    Например, вот команда curl , которую вы можете использовать для отправки запроса к API-прокси с вашего локального компьютера:

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

Как выполнять API-запросы непосредственно к маршрутизаторам Apigee

Сценарий 1: API-запросы к псевдониму хоста, указывающему на маршрутизаторы.

Если DNS-запись псевдонима хоста настроена на указание на маршрутизаторы Apigee Edge (другими словами, отсутствует Elastic Load Balancer (ELB)), то для отправки API-запросов непосредственно к маршрутизатору можно использовать следующие команды curl:

  • Виртуальный хост настроен для незащищенной связи через порт 80.

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

    Например:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Виртуальный хост настроен на завершение SSL-соединения на порту 443 маршрутизатора.

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

    Например:

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

Сценарий 2: API-запросы к псевдониму хоста, указывающему на ELB.

Если DNS-запись псевдонима хоста настроена на указание на Elastic Load Balancer (ELB), то для отправки API-запросов непосредственно к маршрутизатору можно использовать следующие команды curl:

  • Виртуальный хост настроен для незащищенной связи через порт 80.

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

    Например:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Виртуальный хост, настроенный на использование высокоскоростного порта и SSL-соединения, подключается к балансировщику нагрузки перед маршрутизатором Apigee.

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

    Например:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Виртуальный хост настроен на использование высокоскоростного порта, а SSL-соединение завершается на маршрутизаторе Apigee.

    Иными словами, балансировщик нагрузки настроен на использование сквозной передачи TCP-трафика к маршрутизатору Apigee.

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

    Например:

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

Как выполнять запросы непосредственно к обработчикам сообщений Apigee

Сценарий 1: API-запрос к обработчику сообщений через стандартный порт 8998.

По умолчанию обработчик сообщений принимает трафик от маршрутизатора Apigee на порту 8998. Поэтому во всех случаях, когда этот порт не был изменен, трафик необходимо направлять непосредственно на этот порт в конкретном экземпляре обработчика сообщений, как показано в следующем примере. Запрос curl необходимо отправить на URL-адрес http://INTERNAL_IP_OF_MP:8998 вместе с заголовком X-Apigee.Host , содержащим имя хоста и порт, используемый в виртуальных хостах, как показано в следующих трех примерах:

  • Виртуальный хост настроен для завершения SSL-соединения на маршрутизаторе.

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

    Например:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
    
  • Виртуальный хост настроен на использование «высокодоступного порта», а завершение SSL-соединения происходит на балансировщике нагрузки ИЛИ на маршрутизаторе Apigee:

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

    Например:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
    
  • Виртуальный хост настроен на использование HTTP-порта 80 по умолчанию.

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

    Например:

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

Сценарий 2: API-запрос к обработчику сообщений через SSL-порт 8443

Можно настроить SSL-соединение между маршрутизатором и обработчиком сообщений. В следующих примерах используется порт 8443, рекомендованный в документации Apigee.

  • Виртуальный хост настроен для завершения SSL-соединения на маршрутизаторе.

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

    Например:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    
  • Виртуальный хост настроен на завершение SSL-соединения на балансировщике нагрузки, и трафик перенаправляется на высоковольтный порт маршрутизатора.

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

    Например:

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