您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
簡介
進行疑難排解時,您可能需要直接對 Apigee 元件 (例如路由器或訊息處理器) 執行 API。舉例來說,您可能想這麼做,以便:
- 針對特定 API 請求的間歇性問題進行偵錯,這些問題指向特定 Apigee 元件 (路由器/訊息處理器)。
- 在特定 Apigee 元件執行個體上啟用偵錯模式,即可收集更多診斷資訊。
- 排除問題是由特定 Apigee 元件所造成。
- 瞭解產生新執行個體或重新啟動執行個體等作業是否達到預期效果。
必要條件
- 直接存取路由器或訊息處理器元件,以執行 API 要求。
- 您需要在元件的特定執行個體上安裝 cURL 工具。
要以 cURL 格式測試的 API 要求。
舉例來說,以下是可從本機電腦對 API Proxy 提出要求的
curl指令:curl https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'curl https://myorg-test.mycompany.com/v1/customers
如何直接對 Apigee 路由器執行 API 要求
情境 1:對指向路由器的主機別名發出 API 要求
如果主機別名的 DNS 項目已設定為指向 Apigee Edge 路由器 (也就是沒有 Elastic Load Balancer (ELB)),您可以使用下列 curl 指令,直接向路由器發出 API 要求:
透過通訊埠 80 為不安全的通訊方式設定虛擬主機
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'例如:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'虛擬主機已設定為在路由器上的通訊埠 443 終止 SSL
curl -v --resolve HOST_ALIAS:443:127.0.0.1 https://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'例如:
curl -v --resolve myorg-test.mycompany.com:443:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
情境 2:指向 ELB 的主機別名 API 要求
如果主機別名的 DNS 項目已設定為指向 Elastic Load Balancer (ELB),您可以使用下列 curl 指令,直接向路由器發出 API 要求:
虛擬主機設定為透過通訊埠 80 進行不安全的通訊
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'例如:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'為高連接埠設定虛擬主機,且 SSL 會在 Apigee 路由器前方的負載平衡器上終止
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 http:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'例如:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'為高通訊埠設定虛擬主機,且 SSL 會在 Apigee 路由器上終止
換句話說,負載平衡器已設為使用 TCP 直通功能連線至 Apigee 路由器。
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 https:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'例如:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
如何直接對 Apigee 訊息處理器執行要求
情境 1:透過預設連接埠 8998 向訊息處理器發出 API 要求
訊息處理器預設會監聽通訊埠 8998,接收來自 Apigee 路由器的流量。因此,如果未變更這個連接埠,就必須將流量直接傳送至特定訊息處理器執行個體上的這個連接埠,如下例所示。curl 要求必須傳送至網址 http://INTERNAL_IP_OF_MP:8998,並附上標頭 X-Apigee.Host,其值為主機名稱 (包括虛擬主機中使用的通訊埠),如下列三個範例所示:
虛擬主機已在路由器上設定 SSL 終止
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'例如:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'虛擬主機設定為「高連接埠」,且 SSL 終止於負載平衡器或 Apigee 路由器:
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'例如:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'虛擬主機設定為預設的 HTTP 通訊埠 80
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:80'例如:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
情境 2:透過 SSL 埠 8443 向訊息處理器發出 API 要求
您可以設定路由器與訊息處理器之間的 SSL 通訊。下列範例使用通訊埠 8443,這是 Apigee 說明文件建議的通訊埠。
虛擬主機已在路由器上設定 SSL 終止
curl -v -k https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'例如:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'虛擬主機已在負載平衡器上設定 SSL 終止,且流量會轉送至路由器的高通訊埠
curl -v https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'例如:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'