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

Azure Ubuntu 22中Flask 80端口无法从本地浏览器访问的求助

Flask服务本地无法访问排查建议
  • 检查Flask绑定地址
    默认flask run仅绑定127.0.0.1,仅支持虚拟机内部访问。启动时需指定绑定所有网卡:flask run -p 80 --host=0.0.0.0。可通过netstat -tulpn | grep 80或ss -tulpn | grep 80确认监听地址,确保显示0.0.0.0:80而非127.0.0.1:80。

  • 重验Ubuntu系统防火墙规则

    • 用sudo ufw status查看UFW规则,确认存在ALLOW 80/tcp条目。
    • 若使用iptables,执行sudo iptables -L -n | grep 80,检查是否有允许80端口入站的规则。
  • 确认Azure虚拟机公网IP
    本地浏览器需访问虚拟机的公网IP,而非私网IP。可在Azure门户虚拟机概览页查看公网IP,或在虚拟机内执行curl ifconfig.me获取,对比你访问的地址是否一致。

  • 核查Azure NSG规则细节

    • 优先级:确保允许80端口的规则优先级高于其他拒绝规则,避免被覆盖。
    • 源地址:规则源地址需设为Any或你的本地公网IP,若限制过严会导致本地无法访问。
    • 关联对象:确认NSG已绑定到虚拟机的对应网卡或子网,未绑定的规则不会生效。
  • 测试本地到虚拟机的连通性
    在本地执行telnet <虚拟机公网IP> 80或curl <虚拟机公网IP>:

    • 若连接超时,说明网络层面仍有阻断;
    • 若能连接但返回错误,需排查Flask服务本身问题。
  • 检查NSG出站规则
    虽主要关注入站,但虚拟机无法返回响应也会导致访问失败。确认NSG出站规则允许80端口的响应流量(默认出站规则为允许所有,可再次确认)。

  • 验证Flask服务运行状态
    查看Flask运行日志,排查是否有报错或意外停止:

    • 终端直接启动的话,检查终端输出;
    • 后台运行的话,查看对应日志文件。
  • 排除本地网络限制
    本地网络的防火墙、代理可能阻断80端口访问,可切换至手机热点网络尝试访问,排除本地网络问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 01:52:35