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

Heroku部署Flask容器后无法调用应用端点问题求助

Heroku容器部署Flask应用H14错误解决方法

从你提供的错误日志中的code=H14 desc="No web processes running"可直接定位根因:Heroku的官方路由只会将外部用户请求转发给web类型的进程,你当前启动的进程类型为los(可从日志的heroku[los.1]标识确认),不符合Heroku的路由转发规则,因此哪怕Gunicorn本身启动正常,外部请求也无法到达应用。

修复步骤

  • 检查容器部署对应的配置文件:
    如果你使用heroku.yml定义部署规则,错误的run配置会使用非web的进程名,示例如下:
    build:
      docker:
        web: Dockerfile
    run:
      los: gunicorn --bind 0.0.0.0:$PORT wsgi:app
    
    需将run下的进程名修改为web:
    build:
      docker:
        web: Dockerfile
    run:
      web: gunicorn --bind 0.0.0.0:$PORT wsgi:app
    
  • 如果你使用Procfile定义启动命令,需确保内容前缀为web:,正确配置如下:
    web: gunicorn --bind 0.0.0.0:$PORT wsgi:app
    
  • 配置修改后重新部署应用,部署完成后执行heroku ps:scale web=1命令,确保至少有1个web进程正常运行。

其他配置校验

你当前的Dockerfile启动命令、Flask入口读取环境变量PORT的逻辑均符合Heroku的要求,无需额外调整。修改进程类型后即可正常接收外部请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:24:07