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

无法通过公网IP访问Azure Ubuntu VM及Nginx服务,求故障排查

Azure Ubuntu虚拟机公网无法访问的故障排查方案
  • 检查网络安全组(NSG)入站规则细节
    确保入站规则明确允许TCP 80端口,源地址设置为Any或你的本地PC公网IP,且规则优先级高于默认的"全部拒绝"规则(Azure NSG默认低优先级规则会拒绝所有未明确允许的入站流量)。同时确认规则的目标端口范围包含80,协议为TCP,状态为"已启用"。

  • 排查Ubuntu本地防火墙(ufw)
    登录虚拟机执行ufw status,若防火墙处于启用状态,需确认已添加允许80端口的规则:

    ufw allow 80/tcp
    

    若未添加该规则,外部流量会被本地防火墙阻断,而内部curl localhost:80不受影响。

  • 确认Nginx的监听地址
    执行以下命令检查Nginx实际监听的IP和端口:

    ss -tulpn | grep nginx
    

    确保输出显示Nginx监听0.0.0.0:80(所有网卡),而非仅127.0.0.1:80(仅本地回环)。若仅监听localhost,需修改/etc/nginx/sites-available/default配置,将listen 80 default_server;改为listen 0.0.0.0:80 default_server;,然后重启Nginx:

    systemctl restart nginx
    
  • 验证公网IP的关联状态
    登录Azure门户,确认虚拟机的网络接口已正确关联该公网IP,且IP地址为"已分配"状态(动态IP可能因VM重启变更,需确认本地PC访问的IP是当前生效的公网IP)。

  • 检查自定义路由表(若有)
    若虚拟机所在子网关联了自定义路由表,需确认路由表中存在允许公网流量进出的规则,不存在将80端口流量导向黑洞或无效地址的路由。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:37:11