1

我已經在ECS羣集中配置了一個尤里卡服務器,並使用應用程序負載平衡器作爲其服務。尤里卡被配置爲使用屬性文件接受認證,如下所示。Eureka服務器運行狀況檢查在AWS應用負載平衡器中失敗

security.user.name=xxxxx 
security.user.password=yyyy 

在負載平衡器我創建了尤里卡的目標組端口8761.我給了健康檢查「/」的URL。但負載均衡器的運行狀況檢查失敗,並顯示以下錯誤。

Health checks failed with these codes: [401] 

這指定由於身份驗證ALB未能通過健康檢查。 (刪除驗證部分的工作,但它會導致一些其他錯誤)。有沒有辦法在ALB中通過健康檢查?

回答

2

與ALB運行狀況檢查一起使用的URL必須返回200到399之間的值。此外,您的ALB必須配置有可接受的響應值。

來源:http://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html

任何東西都不會導致失敗:

  • 401會導致失敗。
  • 301 ALB未配置爲301正常,將導致失敗。

要通過ALB運行狀況檢查,您必須提供可返回可接受的狀態代碼的URL。它可以是專門用於健康檢查的路徑,例如/System/Check/

+0

您可以配置ELB/ALB接受其他返回碼。例如,你可能會認爲301重定向是一個健康的迴應。當然,在這種情況下,401聽起來不像一個健康的返回碼。 –

+0

經典ELB固定爲200. ALB可在200和399之間配置。我已更新了我的答案。 –

+0

感謝您的澄清和文件鏈接。我忘了你不能編輯經典ELB。而且我沒有意識到ALB存在範圍限制。 AWS控制檯中的工具提示聽起來像它會接受任何價值。 –