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

已部署的Azure WebApp返回403错误,寻求排查帮助

排查Azure Python WebApp 403/404错误指引

一、检查WebApp启动配置

  • 确认启动命令正确性:Azure WebApp默认依赖gunicorn启动Python应用,需在应用设置中配置STARTUP_COMMAND为gunicorn --bind=0.0.0.0 --timeout 600 app:app(app:app对应app.py中Flask实例名为app,若实例名不同需同步修改,比如app:my_flask_app)。
  • 验证PYTHONPATH设置:确保该环境变量指向代码根目录,Linux环境为/home/site/wwwroot,Windows环境为D:\home\site\wwwroot,避免模块查找失败。

二、定位gunicorn/Flask启动日志

  • Linux环境:日志存于Kudu的/home/LogFiles/目录,具体为gunicorn.log或_logs/gunicorn--*.log,可通过SCM终端执行cat /home/LogFiles/gunicorn.log查看启动输出。
  • Windows环境:启动日志在D:\home\LogFiles\Application\python_django.log中,也可通过Azure门户的「日志流」-「应用日志」标签实时查看。
  • Azure门户的「日志流」会实时输出gunicorn启动信息,比如是否成功加载app.py、是否存在模块导入错误等关键内容。

三、验证代码部署结构

  • 确保app.py位于site/wwwroot根目录,若代码嵌套在子文件夹,需调整启动命令路径,比如gunicorn --bind=0.0.0.0 app_subfolder.app:app。
  • 检查requirements.txt是否包含gunicorn,Azure默认会安装该依赖,但显式声明可避免部署遗漏。

四、额外排查操作

  • 在Kudu终端手动启动gunicorn:进入SCM的bash终端,激活虚拟环境(若使用)后执行gunicorn app:app,直接查看启动报错信息。
  • 确认路由配置:检查app.py中根路由@app.route('/')是否存在,子路由如/test的定义是否正确,避免因路由匹配问题返回404。
  • 检查WebApp SKU限制:虽然免费层一般不影响基础启动,但可临时切换到标准层测试,排除资源限制导致的启动异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:50:50