AWS ELB 不健康 4xx
AWS ELB unhealthy 4xx
我正在为使用端口 4000 的后端服务器使用 express.js 和 graphql。我正在尝试将我的服务器与 ELB 连接,但状态 returns 不健康,错误代码为 400 或 404。这些是我关于ELB的设置。
- 目标群体
- 目标组注册目标
- 目标群体健康检查
如果我将路径更改为 /graphql
它 returns 400,而只是 /
returns 404。当我调用 API 但似乎我应该修复它。谁能告诉我该怎么办?
处理这种情况的标准方法是在您的快速应用程序中定义路径,例如 /health
或 /ping
应该 return HTTP 状态代码 200
。
如果 /graphql
没有 return HTTP 状态代码 200
LB 将标记目标不健康。
你有两个选择
- 将成功代码更新为
400
,LB将标记目标健康
- 定义路径,如
/
或 /health
和 return 状态代码 200
。
以快递为例
app.get('/health',function(req,res){
res.status(200).send("instance is healthy");
})
然后LB的设置会
或者,如果您想在不更改应用程序的情况下继续使用,则可以使用以下方法。
Apollo默认支持在这个URL/.well-known/apollo/server-health(source)进行简单的健康检查,所以你可以添加更改目标组中的路径从/到URL
我正在为使用端口 4000 的后端服务器使用 express.js 和 graphql。我正在尝试将我的服务器与 ELB 连接,但状态 returns 不健康,错误代码为 400 或 404。这些是我关于ELB的设置。
- 目标群体
- 目标组注册目标
- 目标群体健康检查
如果我将路径更改为 /graphql
它 returns 400,而只是 /
returns 404。当我调用 API 但似乎我应该修复它。谁能告诉我该怎么办?
处理这种情况的标准方法是在您的快速应用程序中定义路径,例如 /health
或 /ping
应该 return HTTP 状态代码 200
。
如果 /graphql
没有 return HTTP 状态代码 200
LB 将标记目标不健康。
你有两个选择
- 将成功代码更新为
400
,LB将标记目标健康 - 定义路径,如
/
或/health
和 return 状态代码200
。
以快递为例
app.get('/health',function(req,res){
res.status(200).send("instance is healthy");
})
然后LB的设置会
或者,如果您想在不更改应用程序的情况下继续使用,则可以使用以下方法。
Apollo默认支持在这个URL/.well-known/apollo/server-health(source)进行简单的健康检查,所以你可以添加更改目标组中的路径从/到URL