我们在 ELB 后面有一个 Web 实例 (nginx),我们在需要时手动打开它。当我们在本地运行 wget 时,Web 应用程序快速启动并返回成功的 200 响应。
但是,由于 ELB 没有向实例发送运行状况检查请求,因此网站不会加载。我可以通过查看 nginx 访问日志来确认这一点。
我一直在使用的解决方法是从 ELB 中删除 Web 实例并将其重新添加。这似乎再次激活了运行状况检查,它们在我们的访问日志中可见。
我已经编辑了我们的 Healthcheck 设置以允许更长的超时时间并将 Unhealthy Threshold 提高到 3 但这并没有什么区别。
目前我们的健康检查配置是: Ping 目标:HTTPS:443/login 超时:10 秒间隔:12 秒 不健康:2 健康:2
侦听器:HTTPS 443 到 HTTPS 443 SSL 证书
ELB 和 Web 实例都在同一个公共 VPC 安全组上,该安全组已将 http/https 开放到 0.0.0.0/0
谁能帮我弄清楚为什么 ELB 健康检查没有在 Web 实例启动后立即启动?这是设计使然还是有自动启动检查的方法?谢谢你。
尼尔