我创建了一个负载均衡器并为其分配了一个正在运行的EC2实例。创建之后,我在负载平衡下的AWS控制台中导航到目标组部分,当我选择分配给负载均衡器的目标组时,它将注册的实例状态显示为“不健康”,并且在注册的实例窗格上方有一条消息说“这些可用区域中没有一个包含健康的目标。请求被路由到所有目标”。在创建负载均衡器时,我选择了所有子网(可用区)。 我用于健康检查的设置如下所述,
那么为什么我的注册实例状态为“不健康”?如何纠正/解决这个问题以将状态更改为“在线”?
答案 0 :(得分:3)
运行状况不佳表示该实例的运行状况检查失败。
要检查的事项:
healthcheck.html
的网页是否响应,并提供有效的200回复答案 1 :(得分:0)
如果要在运行类似服务的多个EC2实例之间共享负载均衡器,请确保每个服务都在不同的端口中运行,否则服务将无法访问,因此健康检查将无法通过
答案 2 :(得分:0)
在我的情况下,ALB 上的运行状况检查配置是 / 带 https。
我通过以下步骤解决了。
登录到服务器并检查 IIS 服务器的默认站点是否打开了 443 端口,如果您的健康检查在 443 上。(无论您使用什么端口进行健康检查)。
使用 curl 命令解决问题。
如果您想检查 HTTPS,请使用以下命令检查响应。使用 -k 或 --insecure 忽略 SSL 问题。
curl https://[serverIP] -k
对于 HTTP 测试,请使用以下命令。
curl http://[serverIP]