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

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

Введение

При устранении неполадок вы можете захотеть выполнить 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)), то вы можете использовать следующие команды Curl, чтобы отправлять запросы API непосредственно к маршрутизатору. :

  • Виртуальный хост настроен для незащищенной связи через порт 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-запись псевдонима хоста настроена так, чтобы указывать на эластичный балансировщик нагрузки (ELB), вы можете использовать следующие команды curl для отправки запросов API непосредственно к маршрутизатору:

  • Виртуальный хост настроен для незащищенной связи через порт 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. Следовательно, во всех случаях, когда этот порт не был изменен, трафик необходимо отправлять непосредственно на этот порт на конкретном экземпляре процессора сообщений, как показано ниже. пример. Запрос на завивку должен быть отправлен на 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'