Azure VM互联网请求失败排查:配置后无法访问Nginx页面
排查方向与遗漏配置
以下是你可能遗漏的关键配置项:
VM的NSG入站规则源错误
你当前配置的是允许internet服务标签的80端口入站,但实际从负载均衡器流向VM的流量,其源是Azure负载均衡器的服务标签LoadBalancer,而非直接的Internet。需要在VM关联的NSG中添加一条入站规则:允许源为LoadBalancer、目标端口80的流量通过,优先级需确保高于拒绝规则。Linux VM本地防火墙未放行VNet内流量
即使NSG配置正确,VM自身的防火墙(如ufw、iptables)可能拦截了来自VNet内部(负载均衡器所在网段)的80端口请求。可以通过以下命令检查并放行:# 检查ufw规则(如果启用) ufw status # 放行VNet网段的80端口(假设VNet网段是10.0.0.0/16) ufw allow from 10.0.0.0/16 to any port 80 # 或针对iptables添加规则 iptables -A INPUT -s 10.0.0.0/16 -p tcp --dport 80 -j ACCEPTNginx仅监听localhost地址
如果Nginx配置为仅监听127.0.0.1,则无法响应来自负载均衡器(访问VM私有IP)的请求。检查Nginx配置文件(例如/etc/nginx/sites-available/default)中的listen指令,确保设置为:listen 80; # 或明确监听所有地址 listen 0.0.0.0:80;修改后重启Nginx服务:
systemctl restart nginx负载均衡器的入站规则未正确关联后端端口
虽然你提到配置了80端口转发,但需再次确认入站规则的后端端口是否设置为80(与Nginx监听端口一致),且该规则已正确关联包含目标VM的后端池。
内容的提问来源于stack exchange,提问作者Gerrit
相关产品推荐
相关产品推荐

