我刚刚使用Heroku部署了我的Django网站,它在example.herokuapp.com上工作就好了。
我遇到的问题是当我去example.com时,我收到了错误请求(400)。我查看了有关400个错误的Django文档,我似乎无法弄清楚什么是错误的。
我使用Django 1.9.5并使用cookiecutter-django启动了该项目。 Name.com是我的域名注册商。
我的设置的production.py:
ALLOWED_HOSTS = env.list('DJANGO_ALLOWED_HOSTS', default=['example.com'])
我不能100%确定我的ALLOWED_HOSTS的DJANGO_ALLOWED_HOSTS部分是如何工作的,但当我转到我的Heroku仪表板并查看设置中的配置变量时,我看到DJANGO_ALLOWED_HOSTS是.herokuapp.com
Heroku自定义域名:
Domain Name DNS Target
*.example.com example.herokuapp.com
example.com example.herokuapp.com
www.example.com example.herokuapp.com
Name.com DNS记录:
Type Host Answer TTL Prio
CNAME www.example.com example.herokuapp.com 300 N/A
CNAME example.com example.herokuapp.com 300 N/A
CNAME *.example.com example.herokuapp.com 300 N/A
在控制台中,我输入我得到的主机命令:
$ host www.example.com
www.example.com is an alias for example.herokuapp.com
$ host example.com
example is an alias for example.herokuapp.com
我可以找到大多数答案/论坛指向这3个地方以查找错误,ALLOWED_HOSTS,Heroku自定义域和DNS记录。但我无法发现错误。
我发现有一项建议可以检查网站的其他区域。无论我走到哪里,我都会得到同样的错误,例如example.com/about /
我是否需要在name.com上设置其他内容?
答案 0 :(得分:0)
单线解决方案
#ALLOWED_HOSTS = ['localhost', '127.0.0.1','https://tm-sys-dashbobord.herokuapp.com/', config('SERVER', default='127.0.0.1')]
替换
ALLOWED_HOSTS =['*']