Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
Introduzione
Durante la risoluzione dei problemi, è consigliabile eseguire le API direttamente sui componenti Apigee come un router o un processore di messaggi. Ad esempio, potresti voler eseguire questa operazione per:
- Esegui il debug di problemi intermittenti con determinate richieste API che puntano a un problema con un determinato componente Apigee (router/processore messaggi).
- Raccogli ulteriori informazioni diagnostiche attivando la modalità di debug su un'istanza specifica di un componente Apigee.
- Escludi che il problema è causato da un componente Apigee specifico.
- Scopri se operazioni come la generazione di una nuova istanza o il riavvio dell'istanza hanno l'impatto desiderato.
Prerequisiti
- Accesso diretto ai componenti router o processore dei messaggi su cui devono essere eseguite le richieste API.
- Lo strumento cURL deve essere installato sull'istanza specifica del componente.
La richiesta API da testare in formato cURL.
Ad esempio, ecco un comando
curl
che puoi utilizzare per effettuare una richiesta a un proxy API dalla tua macchina locale:curl https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
curl https://myorg-test.mycompany.com/v1/customers
Come eseguire le richieste API direttamente sui router Apigee
Scenario 1: richieste API all'alias host che punta ai router
Se la voce DNS dell'alias host è configurata in modo da indirizzare ai router Apigee Edge (in altre parole, non esiste un Elastic Load Balancer (ELB)), puoi utilizzare i seguenti comandi curl per effettuare le richieste API direttamente a un router:
Host virtuale configurato per comunicazioni non sicure tramite la porta 80
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
Ad esempio:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
L'host virtuale è configurato per terminare SSL sulla porta 443 del router
curl -v --resolve HOST_ALIAS:443:127.0.0.1 https://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
Ad esempio:
curl -v --resolve myorg-test.mycompany.com:443:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
Scenario 2: richieste API all'alias host che puntano a ELB
Se la voce DNS dell'alias host è configurata in modo da puntare a un bilanciatore del carico Elastic (ELB), puoi utilizzare i seguenti comandi curl per inviare le richieste API direttamente a un router:
Host virtuale configurato per comunicazioni non sicure tramite la porta 80
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
Ad esempio:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
L'host virtuale configurato per una porta alta e SSL termina su un bilanciatore del carico davanti al router Apigee
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 http:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
Ad esempio:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
Host virtuale configurato per una porta alta e SSL termina sul router Apigee
In altre parole, il bilanciatore del carico è configurato per utilizzare il pass-through TCP al router Apigee.
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 https:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
Ad esempio:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
Come eseguire le richieste direttamente sui processori di messaggi Apigee
Scenario 1: richiesta API al processore di messaggi tramite la porta predefinita 8998
La porta predefinita su cui il processore di messaggi rimane in ascolto del traffico proveniente dal router Apigee è 8998. Pertanto, per tutti i casi in cui questa porta non è stata modificata, il traffico deve essere inviato direttamente a questa porta su un'istanza specifica del processore di messaggi, come nell'esempio seguente. La richiesta curl deve essere inviata all'URL http://INTERNAL_IP_OF_MP:8998
insieme all'intestazione X-Apigee.Host
con il valore nome host, inclusa la porta utilizzata negli host virtuali, come mostrato nei seguenti tre esempi:
L'host virtuale è configurato per la terminazione SSL sul router
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
Ad esempio:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
L'host virtuale è configurato per una "porta alta" e la terminazione SSL avviene su un bilanciatore del carico OPPURE su un router Apigee:
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
Ad esempio:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
L'host virtuale è configurato sulla porta HTTP 80 predefinita
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:80'
Ad esempio:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
Scenario 2: richiesta API al processore di messaggi tramite la porta SSL 8443
È possibile configurare la comunicazione SSL tra router e processore di messaggi. I seguenti esempi utilizzano la porta 8443, quella suggerita dalla documentazione di Apigee.
L'host virtuale è configurato per la terminazione SSL sul router
curl -v -k https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
Ad esempio:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
L'host virtuale è configurato per la terminazione SSL su un bilanciatore del carico e il traffico viene inoltrato al router su una porta elevata
curl -v https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
Ad esempio:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'