簡體   English   中英

AWS ELB 不健康 4xx

[英]AWS ELB unhealthy 4xx

我正在為使用端口 4000 的后端服務器使用 express.js 和 graphql。我正在嘗試將我的服務器與 ELB 連接,但狀態返回不健康,錯誤代碼為 400 或 404。這些是我關於 ELB 的設置。

  • 目標組

目標組

  • 目標組注冊目標

目標群體注冊目標

  • 目標群體健康檢查

目標群體健康檢查

如果我將路徑更改為/graphql ,它返回 400,而/返回 404。當我調用 API 時,它仍然可以正常工作,但似乎我應該修復它。 誰能告訴我我能做什么?

處理這種情況的標准方法是在 Express 應用程序中定義路徑,例如/health/ping ,它們應該返回 HTTP 狀態代碼200

如果/graphql沒有返回 HTTP 狀態代碼200 ,LB 會將目標標記為不健康。

你有兩個選擇

  • 更新成功碼為400 ,LB會標記目標健康
  • 定義//health類的路徑並返回狀態代碼200

以快遞為例

app.get('/health',function(req,res){
res.status(200).send("instance is healthy");
})

然后為 LB 設置將在此處輸入圖片說明

或者,如果您想在不更改應用程序的情況下繼續使用,則以下內容將起作用。

在此處輸入圖片說明

Apollo 在這個 URL /.well-known/apollo/server-health ( source ) 默認支持簡單的健康檢查,所以你可以添加更改目標組中的路徑從 / 到 URL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM