Direkte API-Anfragen an Router oder Nachrichtenprozessoren senden

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Einführung

Bei der Fehlerbehebung können Sie APIs direkt für Apigee-Komponenten wie einen Router oder einen Message Processor ausführen. Dies bietet sich beispielsweise aus folgenden Gründen an:

  • Beheben Sie vorübergehende Probleme mit bestimmten API-Anfragen, die auf ein Problem mit einer bestimmten Apigee-Komponente (Router/Nachrichtenprozessor) verweisen.
  • Wenn Sie den Debug-Modus auf einer bestimmten Instanz einer Apigee-Komponente aktivieren, erhalten Sie mehr Diagnoseinformationen.
  • Schließen Sie aus, dass das Problem von einer bestimmten Apigee-Komponente verursacht wird.
  • Ermitteln Sie, ob Vorgänge wie das Erstellen einer neuen Instanz oder der Neustart der Instanz die gewünschten Auswirkungen 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 werden.
  • Die API-Anfrage, die Sie testen möchten, im cURL-Format.

    Mit dem folgenden curl-Befehl können Sie beispielsweise eine Anfrage von Ihrem lokalen Computer an einen API-Proxy senden:

    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 ausführen

Szenario 1: API-Anfragen an Hostalias, das auf Router verweist

Wenn der DNS-Eintrag des Host-Alias so konfiguriert ist, dass er auf die Apigee Edge-Router verweist (mit anderen Worten, es gibt keinen Elastic Load Balancer (ELB), können Sie die folgenden curl-Befehle verwenden, um die API-Anfragen direkt an einen Router zu richten:

  • Virtueller Host, der für eine nicht sichere Kommunikation über Port 80 konfiguriert ist

    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 er SSL auf Port 443 auf dem Router beendet.

    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 Host-Alias, 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 richten:

  • Virtueller Host, der für eine nicht sichere Kommunikation über Port 80 konfiguriert ist

    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'
    
  • Virtueller Host, der für einen High-Port konfiguriert und SSL auf einem Load-Balancer vor dem Apigee-Router beendet wird

    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, der für einen High-Port konfiguriert ist und SSL auf dem Apigee-Router beendet

    Mit anderen Worten, der Load-Balancer ist 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'
    

So führen Sie Anfragen direkt an Apigee-Nachrichtenprozessoren aus

Szenario 1: API-Anfrage an Nachrichtenprozessor über Standardport 8998

Der Standardport, über den der Nachrichtenprozessor Traffic vom Apigee-Router abhört, ist 8998. Daher muss der Traffic in allen Fällen, in denen dieser Port nicht geändert wurde, direkt an diesen Port einer bestimmten Message Processor-Instanz gesendet werden, wie im folgenden Beispiel gezeigt. Die curl-Anfrage muss zusammen mit dem Header X-Apigee.Host mit dem Wert-Hostnamen an die URL http://INTERNAL_IP_OF_MP:8998 gesendet werden, einschließlich des in den virtuellen Hosts verwendeten Ports, wie in den folgenden drei Beispielen gezeigt:

  • Der virtuelle Host ist auf dem Router für die SSL-Terminierung 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 Die SSL-Terminierung erfolgt auf einem Load-Balancer ODER 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'
    
  • Virtueller Host ist für HTTP-Standardport 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 Nachrichtenprozessor über SSL-Port 8443

Es ist möglich, die SSL-Kommunikation zwischen Router und Nachrichtenprozessor zu konfigurieren. In den folgenden Beispielen wird Port 8443 verwendet, der in der Apigee-Dokumentation vorgeschlagen wird.

  • Der virtuelle Host ist auf dem Router für die SSL-Terminierung 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 über einen hohen Port zum Router 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'