在自定义Heroku域名上出现错误400:错误请求,但在foo.herokuapp.com上正常工作

29 投票
3 回答
18018 浏览
提问于 2025-04-18 03:58

我刚刚把一个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

3 个回答

0

这个问题已经有人回答过了,但我想补充一下,如果你在Heroku上更改应用名称后,刚好也更改了git远程地址,记得按照@Leo的建议去做。因为我之前也很困惑,为什么浏览器会显示400错误,直到我看到这个问题才明白。

9

在编程中,有时候我们需要把一些数据放在一起,方便我们后续使用。这就像把不同的书放在一个书架上,方便我们随时拿取。

有些时候,我们会用到“数组”这个概念。数组就像一个盒子,里面可以放很多相同类型的东西,比如数字或者字母。你可以通过位置来找到这些东西,就像你知道书架上每本书的位置一样。

另外,还有“对象”这个概念。对象就像一个小盒子,里面可以放不同类型的东西,比如数字、字母,甚至其他对象。对象的好处是你可以把相关的信息放在一起,方便管理。

在编程时,我们常常需要把这些数据结构结合起来使用,以便更高效地处理信息。这就像在书架上不仅有书,还有一些小盒子,里面放着书的详细信息,帮助我们更好地理解和使用这些书。

heroku config:set DJANGO_ALLOWED_HOSTS=.example.com,example.herokuapp.com
49

你需要把你的网站域名设置为允许的主机。把这个放在你的 ./app/settings/settings.py 文件里:

ALLOWED_HOSTS = [".herokuapp.com", ".researchthroughdesign.org"]

在正式环境中,你甚至可以去掉 .herokuapp.com 这个部分。

撰写回答