首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >健康检查故障

健康检查故障
EN

Stack Overflow用户
提问于 2021-12-16 17:12:23
回答 2查看 671关注 0票数 2

每当我试图在aws (通过copilot)重新部署负载平衡服务时,我总是会收到健康检查失败(502坏网关),下面是错误消息:

代码语言:javascript
复制
(service my-app-my-env-my-service-Service-n6SienH8zSJt) (port 3000) is unhealthy in
(target-group arn:aws:elasticloadbalancing:us-east-1:[my target grouo]) due to (reason Health checks failed).     

我有一个集群(ECS),其中包含两个服务(一个后端服务完全正常工作,然后一个负载平衡服务导致问题),每个服务运行一个任务(Fargate)。负载平衡服务是一个流星/节点应用程序,它正在监听端口3000。

弹性负载均衡器(应用程序)正在侦听端口80,它应该将流量转发到上述服务的目标组,该服务应该在端口3000上侦听。

负载平衡服务的目标组有:

  1. 目标类型: IP
  2. IP地址类型:IPv4
  3. 协议:端口-
  4. 版本: HTTP1

这个组的目标有自己的IP地址,端口3000。

目标类型: ip地址,因为我在任务中使用的是fargate而不是EC2。因此,当任务打开时,我正确地看到任务的私有IP注册到目标组中。

几个注意事项:

  1. 服务器正在正确启动。我正在接收指示服务器正常运行的日志,没有出现错误的
  2. ,我设置了一个/_health路由,并在本地工作(通过curl请求获取200状态到localhost:3000/_
  3. )。我非常确信,没有路由是有效的,因为我改变了我的应用程序呈现静态页面,不管路由,并仍然有问题的连接。这使我认为负载均衡器和服务

之间存在问题。

坚持了一个星期,所以如果有人知道我错过了什么,那将是特别有帮助的!我很高兴分享更多关于我的集群的信息,如果这会有帮助的话!(预先谢谢:)

EN

回答 2

Stack Overflow用户

发布于 2021-12-16 17:27:46

副驾驶名单中健康检查路线的映射是什么?

默认情况下,copilot将健康检查配置为目标“/”。

票数 1
EN

Stack Overflow用户

发布于 2021-12-16 18:23:06

我对此感到很傻,但我很确定我找到了解决办法。虽然我正确地在manifest.yml中的映像上配置了manifest.yml,但在清单的变量中需要一个名为PORT: 3000的额外环境变量。这看起来很管用..。就像我说的愚蠢的错误!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70383025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档