查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
執行 API 期間發生的任何錯誤、延遲問題或非預期的結果
要求稱為 runtime
問題
4XX/5XX 錯誤
應對手冊
本節針對一些具體程序提供了相關資訊和指引,
後來瞭解如何排解及解決執行階段 4XX
和 5XX
錯誤。
錯誤回應/訊息 | 錯誤代碼 | 應對手冊 |
---|---|---|
HTTP/1.1 500 Internal Server Error |
視實際錯誤而定 |
500 內部伺服器錯誤
和 |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.ServiceUnavailable |
503 服務無法使用 |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.NoActiveTargets |
503 Service 無法使用 - NoActiveTargets |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.NoActiveTargets
(原因在於健康狀態檢查失敗) |
503 服務無法使用 - NoActiveTargets 健康狀態檢查失敗 |
HTTP/1.1 503 Service Unavailable
(來自後端伺服器) |
messaging.adaptors.http.flow.ErrorResponseCode
|
503 服務無法使用 - 後端伺服器 |
HTTP/1.1 504 Gateway Timeout |
messaging.adaptors.http.flow.GatewayTimeout |
504 閘道逾時 |
HTTP/1.1 504 Gateway Timeout
(來自後端伺服器) |
messaging.adaptors.http.flow.ErrorResponseCode
|
504 閘道逾時 - 後端伺服器 |
診斷資訊
您如需 Apigee Edge 支援對 4XX
執行階段錯誤的任何協助
(例如 400
、401
、404
和 499
) 或
5XX
(例如 500
、503
和 504
) 錯誤,
然後在客服案件中收集及分享下列診斷記錄和資訊:
診斷資訊 | 我可以在哪裡收集這項資訊? | 如何收集這項資訊? |
---|---|---|
追蹤工具輸出內容可擷取失敗的 API 要求 | Edge UI | 如何使用追蹤工具 |
路由器記錄檔 | 路由器 |
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.* |
訊息處理器記錄 | 訊息處理器 |
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system* |
壓縮所有診斷資料 |
>tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* |
400 錯誤的要求錯誤 - SSL 憑證錯誤
應對手冊
本節針對一些具體程序提供了相關資訊和指引,
並按照指示進行疑難排解及解決 400 Bad Request - SSL Certificate Error
。
錯誤訊息 | 應對手冊 |
---|---|
<html> <head> <title>400 The SSL certificate error</title> </head> <body bgcolor="white"> <center> <h1>400 Bad Request</h1> </center> <center>The SSL certificate error</center> <hr> <center>nginx</center> </body> </html> |
400 錯誤要求錯誤 - SSL 憑證錯誤 |
診斷資訊
如果您在 400 Bad Request - SSL Certificate
Error
的 Apigee Edge 支援服務中需要協助,請收集下列診斷資訊,並在客服案件中分享:
診斷資訊 | 我可以在哪裡收集這項資訊? | 如何收集這項資訊? |
---|---|---|
路由器記錄檔 | 路由器 |
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.* |
Tcpdumps |
路由器 |
在路由器機器上使用 sudo tcpdump -s 0 -i any host CLIENT_HOST_IP_ADDRESS -w /tmp/router_tcpdump_$(hostname).pcap 壓縮 tar cvzf /tmp/router_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap |
Tcpdumps |
用戶端機器 |
在用戶端電腦上使用 tcpdump 指令擷取網路封包: sudo tcpdump -s 0 -i any host VIRTUAL_HOST_ALIAS -w /tmp/client_tcpdump_$(hostname).pcap 壓縮 tar cvzf /tmp/client_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap |
壓縮所有診斷資料 | 路由器 |
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* |
404 無法識別主機錯誤的 Proxy
應對手冊
本節針對一些具體程序提供了相關資訊和指引,
按照指示進行疑難排解及解決 404 Unable to identify proxy for host
問題
錯誤。
錯誤訊息或說明 | 錯誤代碼 | 應對手冊 |
---|---|---|
HTTP/1.1 404 Not Found { "fault":{ "faultstring":"Unable to identify proxy for host: VIRTUAL_HOST_NAME and url: PATH", "detail":{ "errorcode":"messaging.adaptors.http.flow.ApplicationNotFound" } } } |
messaging.adaptors.http.flow.ApplicationNotFound |
404 無法識別主機的 Proxy |
診斷資訊
如果需要 Apigee Edge 支援服務針對 404 Unable to identify proxy for
host
錯誤提供協助,請收集下列診斷資訊,並在
客服案件:
診斷資訊 | 我可以在哪裡收集這項資訊? | 如何收集這項資訊? |
---|---|---|
Deployments API 輸出內容 | 管理伺服器 |
curl -s http://MANAGEMENT_SERVER_HOST:8080/v1/organizations/ORGNAME/environments/ENVNAME/apis/APINAME/deployments > /tmp/deployments_output_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json |
API 和分類樹狀結構輸出內容 | 訊息處理器 |
取得針對特定機構載入的環境: curl -s 0:8082/v1/runtime/organizations/ORGNAME/environments > /tmp/rmp_environments_list_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).txt 取得為特定 API Proxy 部署的修訂版本: curl -s 0:8082/v1/runtime/organizations/ORGNAME/environments/ENVNAME/apis/APINAME/revisions > /tmp/rmp_api_APINAME_revisions_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).txt 取得分類樹狀結構: curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json |
訊息處理器記錄 | 訊息處理器 |
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system* tar cvzf /tmp/rmp_transactionlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/transactions* tar cvzf /tmp/rmp_configurationlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/configurations* tar cvzf /tmp/rmp_system_monitor_config_mp_logs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/edge-message-processor* /opt/apigee/var/log/edge-message-processor/config* /opt/apigee/var/log/edge-message-processor/system-monitor* |
訊息處理器的記憶體快照資料 | 訊息處理器 |
取得即時記憶體快照資料: sudo -u apigee jmap -dump:live,format=b,file=/opt/apigee/var/snapshot_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).hprof $(cat /opt/apigee/var/run/edge-message-processor/edge-message-processor.pid) 壓縮記憶體快照資料: tar cvzf /tmp/rmp_heapdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/snapshot_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).hprof |
壓縮所有診斷資料 | 訊息處理器 |
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* |
502 Bad Gateway - 連線至上游時沒有直播
應對手冊
本節針對一些具體程序提供了相關資訊和指引,
並按照指示進行疑難排解及解決 502 Bad Gateway - no live upstreams while
connecting to upstream
。
問題 | 記錄中的錯誤訊息 | 應對手冊 |
---|---|---|
HTTP/1.1 502 Bad Gateway <html> <head> <title>Error</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>An error occurred.</h1> <p>Sorry, the page you are looking for is currently unavailable.<br/> Please try again later.</p> </body> </html> |
您會在 NGINX 錯誤記錄中看到以下錯誤:
(/opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME._error_log)
|
502 閘道錯誤 |
診斷資訊
如果需要 Apigee Edge 支援的協助
502 Bad Gateway - no live streams while connecting to upstream
,然後收集
下列診斷資訊,並在客服案件中分享:
診斷資訊 | 我可以在哪裡收集這項資訊? | 如何收集這項資訊? |
---|---|---|
路由器記錄檔 | 路由器 |
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.* |
訊息處理器記錄 | 訊息處理器 |
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system* |
最高輸出內容、記憶體快照資料和執行緒傾印 | 訊息處理器 |
取得頂層指令輸出內容: top -H -bn5 > /tmp/rmp_top_output_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt 取得記憶體快照資料: sudo -u apigee jcmd $(cat /opt/apigee/var/run/edge-message-processor/edge-message-processor.pid) GC.heap_dump /opt/apigee/var/rmp_heapdump_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).hprof 取得執行緒傾印檔: sudo -u apigee jcmd $(cat /opt/apigee/var/run/edge-message-processor/edge-message-processor.pid) Thread.print > /tmp/rmp_thread_print_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).tdump |
壓縮所有診斷資料 |
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* /opt/apigee/var/rmp_heapdump_* |
502 無效閘道 - 達標意外事件
應對手冊
本節針對一些具體程序提供了相關資訊和指引,
按照下列指示排解問題及解決 502 Bad Gateway - Unexpected EOF At
Target
:
錯誤回應/訊息 | 錯誤代碼 | 應對手冊 |
---|---|---|
HTTP/1.1 502 Bad Gateway { "fault": { "faultstring": "Unexpected EOF at target", "detail": { "errorcode": "messaging.adaptors.http.flow.UnexpectedEOFAtTarget" } } } |
messaging.adaptors.http.flow.UnexpectedEOFAtTarget |
502 Bad Gateway Unexpected EOF (502 錯誤的閘道未預期的 EOF) |
診斷資訊
如需 502 Bad Gateway - Unexpected EOF At Target
的 Apigee Edge 支援服務相關協助,
然後收集下列診斷資訊,並在客服案件中分享:
診斷資訊 | 我可以在哪裡收集這項資訊? | 如何收集這項資訊? |
---|---|---|
追蹤工具輸出內容可擷取失敗的 API 要求 | Edge UI | 如何使用追蹤工具 |
路由器記錄檔 | 路由器 |
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.* |
訊息處理器記錄 | 訊息處理器 |
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system* |
Tcpdumps |
訊息處理器 |
sudo tcpdump -s 0 -i any host BACKENDSERVER_HOSTNAME -w /tmp/rmp_tcpdump_$(hostname).pcap tar cvzf /tmp/rmp_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/$(hostname).pcap |
壓縮所有診斷資料 | 路由器/訊息處理器 |
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* |
TLS 握手失敗
應對手冊
本節針對一些具體程序提供了相關資訊和指引, 遵循以下指示,以排解及解決 TLS/SSL 握手失敗的問題:
錯誤訊息 | 應對手冊 |
---|---|
Received fatal alert: handshake_failure |
TLS/SSL 握手失敗 |
Received fatal alert: bad_certificate |
SSL 握手失敗 - 用戶端憑證錯誤 |
診斷資訊
如果在 TLS/SSL 握手失敗方面需要 Apigee Edge 支援服務的協助,請收集 下列診斷資訊,並在客服案件中分享:
診斷資訊 | 我可以在哪裡收集這項資訊? | 如何收集這項資訊? |
---|---|---|
追蹤工具輸出內容可擷取失敗的 API 要求 | Edge UI | 如何使用追蹤工具 |
路由器記錄檔 | 路由器 |
tar cvzf /tmp/router_logs_ORGNAME>_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.* |
訊息處理器記錄 | 訊息處理器 |
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system* |
OpenSSL 指令輸出 | 訊息處理器 |
未啟用 SNI 的後端伺服器: openssl s_client -connect BACKEND_SERVER_HOSTNAME:PORT -showcerts | tee /tmp/rmp_openssl_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt 已啟用 SNI 的後端伺服器: openssl s_client -connect BACKEND_SERVER_HOSTNAME:PORT -server BACKEND_SERVER_HOSTNAME -showcerts | tee /tmp/rmp_openssl_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt |
Tcpdumps |
訊息處理器 |
sudo tcpdump -s 0 -i any host BACKEND_SERVER_HOSTNAME -w /tmp/$(hostname).pcap tar cvzf /tmp/rmp_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/$(hostname).pcap |
來自訊息處理器 KeyStore 和信任存放區的憑證 | 管理伺服器 |
從 KeyStore 取得憑證詳細資料: curl -v http://MANAGEMENT_SERVER_HOST:PORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/KEYSTORENAME/certs/CERTNAME -u USERNAME 從 Truststore 取得憑證詳細資料: curl -v http://MANAGEMENT_SERVER_HOSTPORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/TRUSTSTORENAME/certs/CERTNAME -u USERNAME |
壓縮所有診斷資料 | 訊息處理器 |
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* |