欢迎光临
我们一直在努力

为什么会出现负载均衡无法访问的情况?

负载均衡是现代网络架构中不可或缺的一部分,它通过将客户端请求分配到多个服务器上来提升系统的可用性和性能,当负载均衡无法访问时,可能会对业务造成严重影响,本文将详细分析负载均衡无法访问的原因,并提供排查步骤和解决方案。

一、负载均衡无法访问的常见问题及排查步骤

负载均衡无法访问

1. 直接访问后端服务器

要确定问题是否出在负载均衡器上,首先需要确认是否可以不通过负载均衡器直接访问后端服务器,如果可以,那么问题可能出在负载均衡配置上;否则,可能是后端服务器本身的问题。

公网客户端:使用公网客户端访问后端服务器时,需要为后端服务器暂时绑定EIP(弹性公网IP),待验证完成后再释放此EIP。

私网客户端:无需绑定EIP,如果是跨VPC的客户端访问,请注意配置VPC对等连接。

2. 检查健康检查设置

健康检查是负载均衡器用来检测后端服务器是否正常工作的一种机制,如果健康检查失败,负载均衡器将不会向该服务器转发流量。

已开启健康检查:请执行下一步,排查健康检查是否正常。

负载均衡无法访问

未开启健康检查:共享型负载均衡需检查后端服务器的安全组和网络ACL规则是否放通100.125.0.0/16网段;独享型负载均衡需检查后端服务器的安全组是否放通ELB后端子网所在的VPC网段。

3. 排查健康检查状态

当服务器开启了健康检查而健康检查失败时,负载均衡器不会向此后端服务器转发流量,此时需要查看后端服务器的健康检查结果。

4. 检查后端服务器配置

在“监听器 > 后端服务器组”页面查看已添加的后端服务器的参数,重点观察以下参数:

权重:权重如果设置为0,则不会向这个服务器转发流量。

业务端口:需要与实际的业务端口相同,对于四层(TCP/UDP)监听器,查看是否打开了“获取客户端IP”选项,如果打开了此选项,需要在安全组和网络ACL中设置放通客户端的真实IP地址,如果开启了“获取客户端IP”,不支持后端服务器和客户端使用同一台服务器,原因是后端服务器会根据报文源IP为本地IP判定该报文为本机发出的报文,无法将应答报文返回给ELB,最终导致回程流量不通。

负载均衡无法访问

5. 检查访问控制配置

在“监听器 > 基本信息”页签,查看访问控制配置是否正确,是否已经放通了客户端的IP地址。

二、其他常见问题及解决方案

1. 不支持同时作为客户端和服务端的服务器

对于四层负载均衡服务,目前不支持负载均衡后端ECS实例直接为客户端提供服务的同时,又作为负载均衡的后端服务器,NLB四层监听的服务器组如果开启了客户端地址保持功能,也会导致服务器组内的后端服务器不支持同时作为客户端和服务端。

2. 不支持通过SLB搭建FTP、TFTP、H323和SIP等服务

针对FTP服务,可以尝试配置22端口的转发,使用SFTP连接并传输数据,支持通过EIP可见模式将EIP绑定到FTP服务器上对外提供FTP服务。

3. 内网防火墙设置问题

服务器内网防火墙设置没有放行80端口可能导致无法访问,可以选择暂时关闭防火墙进行测试,Windows服务器执行firewall.cpl命令,Linux服务器执行/etc/init.d/iptables stop命令。

4. 端口异常

对于四层负载均衡,使用telnet命令测试有响应即为正常。telnet 10.XX.XX.1 80,对于七层负载均衡,HTTP状态码需要是200等代表正常的状态码,检验方法如下:Windows直接在ECS实例上访问ECS的内网IP测试是否正常,http://10.XX.XX.1,Linux使用curl -I 10.XX.XX.1命令查看状态是否为HTTP/1.1 200 OK

5. rp_filter特性冲突

rp_filter特性和负载均衡底层LVS的策略路由产生冲突,导致访问出现异常,登录四层负载均衡后端添加的Linux系统的ECS实例,编辑/etc/sysctl.conf文件,将系统配置文件中的以下三个参数值设置为0:

net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0

然后执行sudo sysctl -p命令使配置生效。

6. 监听功能异常

在服务器上执行以下命令,如果能看到相应端口的监听信息,说明端口的监听正常,Windows服务器执行netstat -ano | findstr :80,Linux服务器执行netstat -anp | grep :80

7. 创建负载均衡实例后未添加监听

创建负载均衡实例后,如果没有添加监听,则需要配置监听,详情请参见监听。

8. 域名解析错误

负载均衡通过域名访问不通,可能为用户域名解析错误导致。

9. 客户端网络或运营商中间链路异常

从不同地域及不同网络环境,对负载均衡相应服务端口做访问测试,如果只有本地网络访问时出现异常,则判定是网络异常导致的问题,此时可以继续通过持续进行ping测试或MTR路由跟踪等手段做进一步排查分析。

10. 客户端IP被云盾拦截

获取客户端网络环境对应的公网IP,将获取的IP配置为白名单,该操作将会对来自相应IP到负载均衡的所有访问全部放行,注意,此操作可能带来安全风险,确保白名单中的IP不会对负载均衡进行恶意攻击。

11. 高防IP切换后未关闭访问控制白名单功能

用户使用完高防IP之后切换回普通模式,但是未关闭访问控制白名单功能,需要取消白名单。

三、FAQs

Q1: 如何确认是否可以直接访问后端服务器?

A1: 可以通过客户端直接访问后端服务器的IP地址来快速定界是ELB配置问题还是后端服务器本身业务配置问题,使用客户端直接访问后端服务器时,请注意放通客户端到后端服务器之间的网络ACL。

Q2: 如果健康检查失败,应该怎么办?

A2: 如果健康检查失败,负载均衡器不会向此后端服务器转发流量,此时需要查看后端服务器的健康检查结果,并根据具体情况进行调整,检查后端服务器是否正常运行、网络连接是否正常等。

各位小伙伴们,我刚刚为大家分享了有关“负载均衡无法访问”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《为什么会出现负载均衡无法访问的情况?》
文章链接:https://yuyunkj.com/article/30879.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发