问题描述:
访问SLB经常报502错误,健康检查经常失败。
解决过程:
1、访问SLB的时候,显示的结果是访问到了50172端口
http://120.25.xx.xx:8888/operations/healthcheck
502 Bad Gateway
The proxy server received an invalid response from an upstream server. Sorry for the inconvenience.
Please report this message and include the following information to us.
Thank you very much!
URL:
http://120.25. xx.xx:8888/operations/healthcheck
Server: slba15s0-g1p1-proxy-st3.cloud.st3
Date: 2015/09/23 17:36:53
2、10.31.xx.aa的主机上使用head命令访问另外一台RS
echo -e "HEAD /operations/healthcheck HTTP/1.0\r\n \r\n\r\n" | nc -s 10.31.xx.aa 10.31.xx.bb 8888
发现有405报错:HTTP/1.1 405 Method Not Allowed
Server: Microsoft-IIS/8.5
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
Date: Wed, 23 Sep 2015 09:33:27 GMT
Expires: -1
Pragma: no-cache
Connection: close
Set-Cookie: X-Mapping-ojijljpj=0B9CAAA67D75A56753BD2B28F2FE04F7; path=/
Set-Cookie: X-Mapping-rrsqbjcb=898fb6ea89a3b8cacf2a4879cbedc5e8; path=/; max-age=1200
Allow: GET
X-UA-Compatible: IE=edge
Content-Length: 73
3、SLB http协议健康检查是通过head来访问后端服务器,如果用户在代码中只接受get请求,导致健康检查的时候后端服务器http状态会返回405,就会现异常的情况,需要保证http状态返回200值。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到访问阿里云负载均衡(SLB)时频繁出现502错误,且健康检查失败的情况,可以按照以下步骤进行排查和解决:
确认后端服务器配置:
调整健康检查设置:
/operations/healthcheck
)在后端服务器上是可访问的,并且返回正确的HTTP状态码(通常是200)。检查后端服务器状态:
查看日志与监控:
安全组与网络配置:
考虑使用TCP健康检查: 如果后端服务确实无法支持HEAD请求,且调整配置困难,可以考虑将SLB的健康检查类型更改为TCP,但这种方式只能检测到端口是否开放,不能验证具体的服务状态。
通过上述步骤,应该能定位并解决SLB健康检查失败导致的502错误问题。如果问题依旧,建议联系阿里云技术支持获取进一步的帮助。