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

Azure Ubuntu虚拟机上Flask Web服务无法连接求助

解决Azure Ubuntu虚拟机Flask应用访问被拒绝的问题

核心问题排查

你用127.0.0.1:5000访问时,如果是在本地浏览器操作,127.0.0.1指向的是你的本地机器,而非Azure虚拟机,这是最容易犯的错误。

分步解决步骤

1. 修正访问地址

  • 替换127.0.0.1为虚拟机的公网IP地址或DNS名称,比如访问http://<虚拟机公网IP>:5000
  • 先在虚拟机内部执行curl http://127.0.0.1:5000,确认应用本身能正常返回"Hello World"

2. 检查Flask监听状态

  • 执行ss -tulpn | grep 5000查看端口监听情况:
    • 输出显示0.0.0.0:5000说明监听正常;
    • 若显示127.0.0.1:5000,则代码里的app.run('0.0.0.0', port=5000)未生效,需重启应用或检查代码是否被覆盖

3. 验证Azure入站规则

  • 确认规则优先级:避免被其他拒绝类规则覆盖
  • 检查规则细节:端口范围设为5000、协议选择TCP,测试阶段可将源地址设为0.0.0.0/0(允许所有IP访问)

4. 再次确认Ubuntu本地防火墙

  • 执行ufw status查看状态:
    • 若显示active,需添加端口规则:
      sudo ufw allow 5000/tcp
      sudo ufw reload
      

5. 检查虚拟机网络配置

  • 在Azure门户确认虚拟机已分配公网IP,查看"公共IP地址"字段是否有值
  • 执行curl http://www.baidu.com验证虚拟机联网正常

额外提示

测试阶段可先用Flask自带服务器,生产环境建议搭配Gunicorn+Nginx部署,提升稳定性和性能。

内容的提问来源于stack exchange,提问作者Louis.G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 02:05:19