AWS 负载均衡器运行状况检查:运行状况检查失败,代码如下:[301]

Posted

技术标签:

【中文标题】AWS 负载均衡器运行状况检查:运行状况检查失败,代码如下:[301]【英文标题】:AWS Load balancer health check: Health checks failed with these codes: [301] 【发布时间】:2020-05-28 01:28:38 【问题描述】:

我正在尝试使用应用程序负载均衡器和 dockerized 应用程序设置 Elastic Beanstalk 环境。创建 EB 环境时,我将其设置在 VPC 中 - 负载均衡器进入公共子网,EC2 实例进入私有子网。 LB 的子网连接到一个 NAT 网关。负载均衡器是作为应用程序负载均衡器创建的,具有端口 80 和 443 的侦听器(使用上传到 ACM 的自签名证书)。

我使用 AWS 提供的默认示例应用程序启动了 EB 环境。当我这样做时,我的负载均衡器目标检查是健康的。但是,当我将我的实际应用程序部署到 EB 环境中时,负载均衡器目标检查开始失败并出现错误代码 301。我不知道该做什么或如何找出问题所在。如果我重新部署示例应用程序,目标检查仍然失败。

编辑:

我尝试通过 EB url 访问我的应用程序,但 Chrome 因重定向错误过多而出错。这有关系吗?

【问题讨论】:

【参考方案1】:

在后端配置的重定向可能会导致 301 或 302 响应代码,从而导致运行状况检查失败。例如,如果您在后端配置了重定向,则可能会导致 301 或 302 响应代码,从而导致运行状况检查失败。例如,如果您在后端有从 HTTP:80 到 HTTPS:443 的重定向,则端口 80 上的 HTTP 健康检查将失败,除非您将健康检查更改为 HTTPS 并将健康检查端口更改为 443。

【讨论】:

以上是关于AWS 负载均衡器运行状况检查:运行状况检查失败,代码如下:[301]的主要内容,如果未能解决你的问题,请参考以下文章

Terraform AWS LB 运行状况检查失败

如何调试失败的 AWS 弹性负载均衡器健康检查

AWS Elastic Beanstalk 运行状况检查偶尔失败

Terraform 创建了 AWS ECS 基础设施:运行状况检查一直失败

如何在Elastic Load Balancer运行状况检查中获取302重定向的URL?

AWS 容器运行状况检查