我在自定义Heroku域上收到错误400:请求错误,但在foo.herokuapp.com上运行良好

2024-04-25 03:34:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚把一个Django项目推给了Heroku。它在http://rtd-staging.herokuapp.com/rtd2015/上工作得很好,但是由于某些原因,当我使用http://staging.researchthroughdesign.org/rtd2015/访问它时,会收到一个400错误:错误的请求

我知道CNAME的设置是正确的,因为在向上推heroku的过程中,它说heroku应用程序崩溃了,所以它肯定指向了正确的应用程序。

以下是错误日志:

2014-04-23T18:32:29.981976+00:00 heroku[router]: at=info method=GET path=/ host=staging.researchthroughdesign.org request_id=b8fe3ac9-e062-493b-b3bf-862c60e4001b fwd="82.34.146.252" dyno=web.1 connect=1ms service=7ms status=400 bytes=226

Tags: 项目djangoorgcom应用程序httpheroku错误
3条回答

您必须将网站域设置为允许的主机。把这个放在你的settings.py

ALLOWED_HOSTS = [".herokuapp.com", ".researchthroughdesign.org"]
heroku config:set DJANGO_ALLOWED_HOSTS=.example.com,example.herokuapp.com

已经有人回答了,但我只是想补充一下,如果你在更改git remote后立即更改Heroku上的应用程序名,也要确保执行@Leo所回答的操作,因为在找到这个问题之前,我也很难理解为什么它会在浏览器上显示400个响应。

相关问题 更多 >