AWS ELB不健康4xx

时间:2019-11-27 05:46:24

标签: amazon-web-services amazon-elb

我正在为使用端口4000的后端服务器使用express.js和graphql。我试图将服务器与ELB连接,但是状态返回不正常,错误代码为400或404。这是我有关ELB的设置。 >

  • 目标群体

target group

  • 目标群体已注册的目标

target groups registered targets

  • 目标群体的健康检查

target group health checks

如果我将路径更改为/graphql,它将返回400,而仅/返回404。当我调用API时,它仍然可以正常工作,但似乎应该修复它。谁能告诉我该怎么办?

1 个答案:

答案 0 :(得分:2)

处理这种情况的标准方法是在您的快速应用程序中定义路径,例如/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的设置将 enter image description here

或者,如果您想不更改应用程序而进行操作,那么下面的方法将起作用。

enter image description here