SLB后端ECS健康检查失败

张工

· 阅读 1136

分享
SLB健康检查失败

SLB后端ECS健康检查失败排查

SLB健康检查一直显示失败,ECS被反复摘除和恢复,业务受到严重影响。本文提供完整的排查清单。

排查清单

1. 安全组:SLB健康检查使用100.64.0.0/10网段。确认后端ECS的安全组入方向允许来自这个网段的访问。这是最常见的原因!

2. 服务是否监听正确端口netstat -antlp | grep 端口号。确认应用确实在监听SLB配置的端口。

3. 健康检查路径:七层检查默认请求 /。如果首页需要登录或响应很慢,建议创建专用的 /health 接口返回200。

4. 响应状态码:七层检查只认2xx和3xx。如果应用返回301重定向到HTTPS,健康检查会认为失败。

5. 响应时间:健康检查超时时间默认5秒。如果应用响应超过5秒,检查失败。优化应用性能或增大超时时间。

6. iptables:后端ECS的iptables可能拦截了SLB的探测请求。临时关闭iptables测试。

快速验证

在后端ECS上用curl模拟SLB的健康检查:curl -v http://localhost:端口/健康检查路径。如果本地curl都失败,说明是应用问题。如果本地成功但SLB检查失败,说明是网络/安全组问题。