当客户端无法访问负载均衡时,可能的原因和解决方案如下:
解决方案:配置监听,详情查看配置监听。
四层负载均衡后端添加的Linux系统的ECS实例,必须关闭其Linux内核的rp_filter特性。否则可能会导致无法从客户端使用telnet访问负载均衡的服务地址,但健康检查正常。
Linux的rp_filter特性用于实现反向过滤(即URPF)。它验证反向数据包的流向,以避免IP伪造攻击。但是该特性可能会和负载均衡底层LVS的策略路由产生冲突,导致访问出现异常。
解决方法:确保后端ECS实例的系统配置文件中以下三个参数的值为0。编辑/etc/sysctl.conf
后,执行sysctl -p
使配置生效。
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0
对于四层负载均衡服务,目前不支持负载均衡后端ECS实例直接为客户端提供服务的同时,又作为所在负载均衡的后端服务器。
因为这会概率性的出现相关访问请求被转发回同一台ECS的情形,造成数据访问形成环路,导致对应ECS访问负载均衡服务不通。
解决方案:
netsh interface ipv4 show interface
weakhostsend=enabled
,
weakhostsend=enabled
。比如设置Idx为12的网卡:
netsh interface ipv4 set interface 12 weakhostsend=enabled
netsh interface ipv4 set interface 12 weakhostreceive=enabled
对于公网负载均衡服务,如果客户端网络异常,或者从客户端到负载均衡服务器之间的运营商网络出现异常,也会导致客户端无法访问负载均衡服务。
排查方法:从不同地域及不同网络环境,对负载均衡相应服务端口做访问测试。如果只有本地网络访问时出现异常,则判定是网络异常导致的问题,此时可以继续通过持续进行ping测试或MTR路由跟踪等手段做进一步排查分析。
对于公网负载均衡服务,如果客户端网络是共享网络(所有局域网内服务器通过有限的公网IP共享上网),同时其本地网络内有服务器因为中毒等因素向阿里云相关服务IP段进行扫描探测等恶意攻击。
解决方案:您可以参考如下步骤,通过将本地网络对应的公网IP加入负载均衡访问白名单来解决该问题:
如果还未能解决问题,请在提交工单时提供如下信息,以便我们更高效地协助您解决问题:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。