Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen. info
Einführung
Bei der Fehlerbehebung kann es sinnvoll sein, APIs direkt für Apigee-Komponenten wie einen Router oder Message Processor auszuführen. Das kann z. B. aus folgenden Gründen sinnvoll sein:
- Beheben Sie zeitweilige Probleme mit bestimmten API-Anfragen, die auf ein Problem mit einer bestimmten Apigee-Komponente (Router/Message Processor) hinweisen.
- Sie können weitere Diagnoseinformationen erfassen, indem Sie den Debug-Modus für eine bestimmte Instanz einer Apigee-Komponente aktivieren.
- Schließen Sie aus, dass das Problem durch eine bestimmte Apigee-Komponente verursacht wird.
- Prüfen Sie, ob Vorgänge wie das Erstellen einer neuen Instanz oder das Neustarten der Instanz die gewünschte Wirkung haben.
Vorbereitung
- Direkter Zugriff auf die Router- oder Message Processor-Komponenten, für die API-Anfragen ausgeführt werden müssen.
- Das cURL-Tool muss auf der jeweiligen Instanz der Komponente installiert sein.
Die API-Anfrage, die Sie im cURL-Format testen möchten.
Hier ist beispielsweise ein
curl-Befehl, mit dem Sie von Ihrem lokalen Computer aus eine Anfrage an einen API-Proxy senden können:curl https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'curl https://myorg-test.mycompany.com/v1/customers
API-Anfragen direkt an Apigee-Router senden
Szenario 1: API-Anfragen an Hostalias, die auf Router verweisen
Wenn der DNS-Eintrag des Host-Alias so konfiguriert ist, dass er auf die Apigee Edge-Router verweist (d. h. es gibt keinen Elastic Load Balancer (ELB)), können Sie die folgenden curl-Befehle verwenden, um die API-Anfragen direkt an einen Router zu senden:
Virtueller Host für nicht sichere Kommunikation über Port 80 konfiguriert
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'Beispiel:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'Der virtuelle Host ist so konfiguriert, dass SSL auf Port 443 auf dem Router beendet wird.
curl -v --resolve HOST_ALIAS:443:127.0.0.1 https://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'Beispiel:
curl -v --resolve myorg-test.mycompany.com:443:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
Szenario 2: API-Anfragen an Hostalias, die auf ELBs verweisen
Wenn der DNS-Eintrag des Host-Alias so konfiguriert ist, dass er auf einen Elastic Load Balancer (ELB) verweist, können Sie die folgenden curl-Befehle verwenden, um die API-Anfragen direkt an einen Router zu senden:
Virtueller Host für nicht sichere Kommunikation über Port 80 konfiguriert
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'Beispiel:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'Für einen hohen Port konfigurierter virtueller Host und SSL wird auf einem Load-Balancer vor dem Apigee-Router beendet
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 http:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'Beispiel:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'Virtueller Host für einen hohen Port konfiguriert und SSL wird auf dem Apigee-Router beendet
Der Load Balancer ist also so konfiguriert, dass er TCP-Passthrough zum Apigee-Router verwendet.
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 https:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'Beispiel:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
Anfragen direkt an Apigee-Nachrichtenprozessoren senden
Szenario 1: API-Anfrage an den Message Processor über den Standardport 8998
Der Standardport, an dem der Message Processor auf Traffic vom Apigee-Router wartet, ist 8998. Daher muss der Traffic in allen Fällen, in denen dieser Port nicht geändert wurde, direkt an diesen Port auf einer bestimmten Message Processor-Instanz gesendet werden, wie im folgenden Beispiel. Die curl-Anfrage muss an die URL http://INTERNAL_IP_OF_MP:8998 gesendet werden. Außerdem muss der Header X-Apigee.Host mit dem Wert „hostname“ (einschließlich des in den virtuellen Hosts verwendeten Ports) gesendet werden, wie in den folgenden drei Beispielen gezeigt:
Der virtuelle Host ist für die SSL-Terminierung auf dem Router konfiguriert.
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'Beispiel:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'Der virtuelle Host ist für einen „High Port“ konfiguriert und die SSL-Terminierung erfolgt auf einem Load Balancer ODER auf einem Apigee-Router:
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'Beispiel:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'Der virtuelle Host ist für den Standard-HTTP-Port 80 konfiguriert.
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:80'Beispiel:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
Szenario 2: API-Anfrage an Message Processor über SSL-Port 8443
Es ist möglich, die SSL-Kommunikation zwischen Router und Message Processor zu konfigurieren. In den folgenden Beispielen wird Port 8443 verwendet, der in der Apigee-Dokumentation empfohlen wird.
Der virtuelle Host ist für die SSL-Terminierung auf dem Router konfiguriert.
curl -v -k https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'Beispiel:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'Der virtuelle Host ist für die SSL-Terminierung auf einem Load Balancer konfiguriert und der Traffic wird an einen hohen Port des Routers weitergeleitet.
curl -v https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'Beispiel:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'