我的L5030给服务器配置了健康检查 类型 http url填写 http://172.16.1.137:22001 状态码填写了 200 访问方式是get 其他是默认选项 但是发现健康检查失败 并且业务也不通了 这是为啥呢
(0)
							
							
									
									我在web界面配置的 在健康检查界面填写URL 然后填写了预期状态码 200 就检查失败 但是不填写预期状态码 就正常
(0)
可能反馈的是其他的状态码
可能反馈的是其他的状态码
							
							健康检查失败且业务不通的可能原因如下:
1. **服务器返回状态码非200**:虽然配置期望状态码为200,但后端服务器实际响应的状态码可能不是200(如返回202、404、500等),导致健康检查失败。建议抓包或查看服务器日志确认实际返回状态码。
2. **HOST字段为IP地址导致服务器拒绝响应**:L5030发送的HTTP请求中Host字段使用的是IP地址(172.16.1.137),若后端服务器配置了基于域名的虚拟主机且未配置IP访问,则可能不处理该请求或返回异常,导致健康检查失败。
3. **服务器未正确响应HTTP请求**:尽管端口22001开放,但应用层未正确返回HTTP响应报文(如响应格式不完整、未返回报文头等),LB无法解析响应内容,判定为失败。
4. **健康检查请求路径或参数不匹配**:URL为`http://172.16.1.137:22001`,实际访问路径为根路径“/”,而后端服务可能仅对特定路径(如/integration-report/)返回200,根路径可能返回重定向或错误页面。
5. **业务不通与健康检查失败关联**:因健康检查失败,LB将服务器标记为不可用,不再转发流量,导致业务中断。
**建议操作**:
- 抓包确认LB发送的HTTP请求内容及服务器实际响应的状态码和报文格式。
- 检查服务器是否允许通过IP地址访问,或配置正确的Host头。
- 确认访问路径是否正确,必要时在URL中指定具体健康检查路径(如`http://172.16.1.137:22001/health`)。
- 若服务器正常返回非200状态码(如202),可临时将期望状态码调整为实际值测试。
综上,最可能原因为:**服务器因Host为IP或路径不匹配未返回200状态码,导致健康检查失败,进而业务不通。**
(0)
	
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明