Cómo realizar solicitudes directas a la API a routers o procesadores de mensajes

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Introducción

Cuando soluciones problemas, te recomendamos ejecutar las APIs directamente en los componentes de Apigee, como un router o un procesador de mensajes. Por ejemplo, es posible que quieras hacer esto para lo siguiente:

  • Depura problemas intermitentes con ciertas solicitudes a la API que apuntan a un problema relacionado con un componente específico de Apigee (router/procesador de mensajes).
  • Para recopilar más información de diagnóstico, habilita el modo de depuración en una instancia específica de un componente de Apigee.
  • Descarta que el problema se debe a un componente específico de Apigee.
  • Descubre si las operaciones como la generación de una instancia nueva o el reinicio de la instancia tienen el impacto deseado.

Requisitos previos

  • Acceso directo a los componentes del procesador de mensajes o routers en los que se deben ejecutar las solicitudes a la API.
  • La herramienta cURL debe instalarse en la instancia específica del componente.
  • La solicitud a la API que deseas probar en formato cURL.

    Por ejemplo, el siguiente es un comando curl que puedes usar para realizar una solicitud a un proxy de API desde tu máquina local:

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

Cómo ejecutar solicitudes a la API directamente en los routers de Apigee

Situación 1: Solicitudes a la API para el alias del host que apunta a los routers

Si la entrada de DNS del alias del host está configurada para apuntar a los routers de Apigee Edge (en otras palabras, no hay Elastic Load Balancer (ELB), entonces puedes usar los siguientes comandos curl para realizar las solicitudes a la API directamente a un router:

  • Host virtual configurado para una comunicación no segura a través del puerto 80

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

    Por ejemplo:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • El host virtual está configurado para finalizar SSL en el puerto 443 del router.

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

    Por ejemplo:

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

Situación 2: Solicitudes a la API al alias de host que apunta a ELB

Si la entrada de DNS del alias de host está configurada para apuntar a un Elastic Load Balancer (ELB), puedes usar los siguientes comandos curl para realizar las solicitudes a la API directamente a un router:

  • Host virtual configurado para una comunicación no segura a través del puerto 80

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

    Por ejemplo:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • El host virtual configurado para un puerto alto y SSL finaliza en un balanceador de cargas frente al router de Apigee.

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

    Por ejemplo:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Host virtual configurado para un puerto alto y SSL finaliza en el router de Apigee

    En otras palabras, el balanceador de cargas está configurado para usar la transferencia de TCP al router de Apigee.

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

    Por ejemplo:

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

Cómo ejecutar solicitudes directamente en los procesadores de mensajes de Apigee

Situación 1: solicitud a la API para enviar mensajes al procesador de mensajes a través del puerto predeterminado 8998

El puerto predeterminado en el que el procesador de mensajes escucha el tráfico del router de Apigee es 8998. Por lo tanto, para todos los casos en los que este puerto no se haya cambiado, el tráfico debe enviarse directamente a este puerto en una instancia específica del procesador de mensajes, como en el siguiente ejemplo. La solicitud curl se debe enviar a la URL http://INTERNAL_IP_OF_MP:8998 junto con el encabezado X-Apigee.Host con el nombre de host del valor, incluido el puerto utilizado en los hosts virtuales, como se muestra en los siguientes tres ejemplos:

  • El host virtual está configurado para la terminación SSL en el router

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

    Por ejemplo:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
    
  • El host virtual se configura para un “puerto alto” y la finalización de SSL se produce en un balanceador de cargas O en un router de Apigee:

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

    Por ejemplo:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
    
  • El host virtual está configurado en el puerto HTTP predeterminado 80.

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

    Por ejemplo:

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

Situación 2: solicitud a la API para el procesador de mensajes a través del puerto SSL 8443

Es posible configurar la comunicación SSL entre el router y el procesador de mensajes. En los siguientes ejemplos, se usa el puerto 8443, el puerto sugerido en la documentación de Apigee.

  • El host virtual está configurado para la terminación SSL en el router

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

    Por ejemplo:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    
  • El host virtual se configura para la finalización SSL en un balanceador de cargas, y el tráfico se reenvía al router a un puerto alto.

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

    Por ejemplo:

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