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

部署Flask应用至Azure Web App遇端口8000 HTTP探测失败问题

解决Azure Web App Flask容器端口不响应问题

问题诊断

错误提示容器未在8000端口响应HTTP探测,你的app.py代码中app.run()未指定端口,Flask默认监听5000端口,但Azure配置的探测端口为8000,端口不匹配是核心问题。

修复步骤

  • 修改Flask代码指定端口
    在app.run()中显式指定端口为8000,同时读取Azure自动设置的PORT环境变量,增强配置兼容性:

    from flask import Flask
    import os
    
    app = Flask(__name__)
    
    @app.route('/')
    def hello():
        return 'Azure Web App Running'
    
    if __name__ == '__main__':
        # 优先读取环境变量PORT,默认 fallback 到8000
        port = int(os.getenv('PORT', 8000))
        app.run(host='0.0.0.0', port=port, debug=True)
    
  • 确认Azure配置一致性

    1. 进入Azure Web App的「配置」>「应用程序设置」,确保PORT变量设置为8000(未设置时Azure会默认使用该值,显式设置更稳妥)
    2. 检查「容器设置」中的「启动命令」,确保命令与代码端口匹配,比如使用Flask自带服务器时启动命令为python app.py
  • 验证容器启动状态
    部署后在Azure Web App的「日志流」中查看容器日志,确认是否输出Running on http://0.0.0.0:8000类信息,验证服务确实在目标端口监听。

额外建议

生产环境避免使用Flask自带的debug=True服务器,建议替换为gunicorn等生产级WSGI服务器:

  1. 在requirements.txt中添加gunicorn依赖
  2. 将Azure启动命令改为gunicorn --bind=0.0.0.0:8000 app:app

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:39:54