全部產品
Search
文件中心

API Gateway:D504CO錯誤碼排查

更新時間:Jul 13, 2024

本文將介紹如何根據應答中返回的errorMessage來排查常見的D504CO。

1、Backend service connect failed `Timeout connecting to 172.X.X.1:80`

問題原因:API Gateway和後端服務建立連線逾時導致的後端串連失敗。

解決方案:

  • 需要檢查您錄入的後端服務地址是否正確;

  • 如果後端服務在 ECS ,請檢查安全性群組設定,是否可以被外部存取。請保證安全性群組可以被API Gateway的出口IP段訪問。

  • 排查後端服務是否有黑白名單、後端服務應用程式是否啟動、及防火牆是否有攔截;

  • 若後端是VPC類型,鏈路涉及到跨Region或是通過雲企業網訪問的IDC機房,則需要配置回程路由,文檔可以參考配置訪問雲端服務

2、Backend service connect failed `Connection is closed`

問題原因:後端服務主動發FIN包關閉串連導致的後端串連失敗。

解決方案:網關在2023年8月對這種情境做了相容,增加了重試功能,也就是網關收到後端返回的FIN包後會重試一次。若您是2023年8月前購買的專享執行個體,出現這個報錯後可以工單聯絡我們給您升級執行個體版本。

3、Backend service connect failed `Connection refused`

問題原因:後端服務拒絕了API Gateway的串連導致的後端串連失敗。

解決方案:需要使用者自行排查後端服務拒絕網關串連的原因。

4、Backend service connect failed `Connection lease request time out`

問題原因:API Gateway執行個體後端串連池不夠用導致的後端串連失敗。

解決方案:升級API Gateway執行個體。關於執行個體的選擇可以參考執行個體類型與選擇指南

說明

基於HTTP協議的特性,同一個長串連上資料是串列傳輸的,請求方發送完第一個請求後必須等到應答後才能發第二個請求。API Gateway最大出訪串連池大小可以按照這個原則來估算串連池是否夠用:

出訪串連池是指API Gateway到後端服務的串連池,若購買的專享執行個體規格為api.s1.small,最大出訪串連池大小為1200,如果後端服務每個請求的應答時間在1秒時,那麼這個執行個體最大支援的出訪RPS是1200,超過1200後,如果請求進入API Gateway,後端串連池被佔滿,API Gateway會讓請求進入一個等待隊列,等待500毫秒後如果仍然拿不到串連資源,就會給用戶端返回Backend service connect failed `Connection lease request time out`。