Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
Introducción
Cuando soluciones problemas, se recomienda ejecutar las APIs directamente en los componentes de Apigee, como un router o un procesador de mensajes. Por ejemplo, es posible que desees hacer esto para lo siguiente:
- Depurar problemas intermitentes con ciertas solicitudes a la API que apuntan a un problema con un componente de Apigee en particular (router o procesador de mensajes)
- Para obtener 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 deba 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 router o del procesador de mensajes 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, aquí hay 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 un alias del host que apunta a routers
Si la entrada de DNS del alias de host está configurada para apuntar a los routers de Apigee Edge (es decir, no hay 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 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 el protocolo 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 para alojar alias que apuntan 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 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'
Host virtual configurado para un puerto alto y SSL termina 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 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 de la API 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 no se haya cambiado este puerto, 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 está configurado para un "puerto alto" y la terminación SSL ocurre 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 de la API al 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, que es el que sugiere 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 terminació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'