You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VM配置环境下Internal Load Balancer无法正常工作问题咨询

内部负载均衡器(ILB)无法正常工作的排查与修复

核心配置矛盾分析

你的配置存在几个关键问题,直接导致ILB无法按预期分发流量:

  • 负载均衡规则监听443端口,但后端VM的Apache服务运行在80端口,且健康探测针对80端口。LB会将443的流量转发到后端443端口,而后端无对应服务,自然无响应。
  • 配置了针对80端口的Inbound NAT规则,这会和负载均衡规则的端口冲突,干扰流量分发逻辑。

1. 修正负载均衡规则的端口映射

根据你的需求(通过80端口访问并轮询VM),调整负载均衡规则:

  • 进入ILB的负载均衡规则页面,编辑现有规则
  • 将后端端口从443修改为80,保持前端端口为80
  • 确认规则关联了正确的后端池和健康探测

如果需要通过443访问,需在VM上为Apache配置SSL证书(生成自签证书或部署正式证书),并确保后端VM的443端口有服务监听,再保持LB规则的前后端端口为443。

2. 删除冲突的Inbound NAT规则

Inbound NAT规则用于将前端端口映射到单个VM的端口(比如SSH访问),不是负载均衡的配置。你配置的80端口NAT规则会抢占LB的80端口流量,导致无法分发到后端池:

  • 删除针对80端口的Inbound NAT规则,仅保留必要的规则(比如22端口用于单VM的SSH访问)

3. 验证后端VM的健康状态

如果后端VM的健康探测失败,LB不会将流量分发到该VM:

  • 查看ILB后端池页面,确认两台VM的健康状态为健康
  • 若状态异常,执行以下排查:
    • 在VM上运行sudo netstat -tulpn | grep 80,确认Apache在0.0.0.0:80监听
    • 检查VM的NSG,确保允许来自ILB探测源(VNet地址段或ILB前端IP)的TCP 80流量
    • 检查Ubuntu本地防火墙:执行sudo ufw status,若开启则运行sudo ufw allow 80/tcp开放端口

4. 确认访问客户端的位置

内部LB仅允许同一VNet内、对等VNet内,或通过VPN/Express Route连接的资源访问。若你从VNet外部的浏览器直接访问ILB前端IP,必然无法连接:

  • 在同一VNet内的另一台VM(或VPN连接的本地机器)上,用curl <ILB前端IP>或浏览器访问,测试是否返回页面

5. 配置轮询模式的负载均衡

默认ILB使用5元组哈希会话亲和性,同一客户端可能被固定分发到同一VM。若需要交替显示VM1和VM2:

  • 编辑负载均衡规则,将会话亲和性设置为无,LB会按轮询方式分发流量(前提是两台VM都处于健康状态)

内容的提问来源于stack exchange,提问作者anon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:45:29