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

升级Ruby 3.1.2与Rails 7.0.4后Heroku遇403错误求助

解决Rails 7部署Heroku后403 Host被阻止问题

问题根源

Rails 6及以上版本内置的ActionDispatch::HostAuthorization中间件会校验请求的Host头,默认仅放行本地开发相关域名(如localhost、127.0.0.1)。部署到Heroku后,应用域名leafletmapping.herokuapp.com不在默认允许列表内,因此被拦截返回403错误。

解决步骤

方案一:添加允许的Host(推荐生产环境使用)

编辑config/environments/production.rb文件,将Heroku域名加入允许列表:

# 新增或修改配置
config.hosts << "leafletmapping.herokuapp.com"
# 若后续使用自定义域名,可一并添加
# config.hosts << "your-custom-domain.com"

方案二:禁用Host校验(仅临时测试或特殊场景使用)

若需快速验证,可直接关闭Host授权校验:

# 在config/environments/production.rb中设置
config.hosts = nil

部署验证

修改配置后,重新提交代码并部署到Heroku:

git add .
git commit -m "Fix host authorization for Heroku deployment"
git push heroku main

部署完成后访问应用,确认403错误已解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 13:31:02