You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS后端目标组draining返回503 域名无法访问3001端口问题

故障原因及解决方法

1. 目标组健康检查配置错误(最高概率)

  • 绝大多数此类404不健康问题是因为目标组默认健康检查路径为/,但你的后端服务仅在/api路径下提供服务,请求/会直接返回404,被ALB判定为不健康,实例被标记为draining后停止接收流量,就会返回503错误。
  • 解决方法:进入EC2控制台的目标组配置页,修改后端目标组的健康检查配置:
    • 健康检查路径改为/api(如果后端有专用健康检查接口如/api/health则更推荐)
    • 匹配成功状态码设置为200-299区间
    • 健康检查端口选择流量端口(即3001),协议选择HTTP

2. ECS后端任务资源不足

  • 你配置的后端任务仅分配128MiB内存、128CPU单元,同时运行Node.js服务和MongoDB两个容器的资源阈值远高于该配置,MongoDB默认启动就需要至少200MiB以上内存,资源不足会导致进程OOM被内核杀死,ECS会自动终止故障任务,实例进入draining阶段。
  • 解决方法:修改后端任务定义,将任务内存调整为至少1GiB、CPU单元调整为至少512,重新部署服务验证。

3. 后端ALB监听器配置错误

  • 需确认后端ALB的443端口监听器配置符合要求:
    • 已绑定覆盖你后端域名的有效SSL证书,证书未过期
    • 监听器转发规则已将所有请求(或至少/api/*前缀的请求)转发到后端3001端口的目标组,未误转发到前端资源
    • 监听器的SSL策略配置兼容你请求端的TLS版本

4. 安全组及网络配置校验

  • 确认ECS后端任务所在EC2实例的安全组,已允许后端ALB的安全组访问3001端口,仅放开公网访问权限不代表ALB内部流量可正常通行
  • 确认你的后端域名已正确解析到后端ALB的公网IP,未误解析到前端ALB地址

内容的提问来源于stack exchange,提问作者Karanveer Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:06:04