Bad Request(400)使用Django,Heroku和Name.com

时间:2016-04-09 18:07:47

标签: python django heroku dns cookiecutter

我刚刚使用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上设置其他内容?

1 个答案:

答案 0 :(得分:0)

单线解决方案

#ALLOWED_HOSTS = ['localhost', '127.0.0.1','https://tm-sys-dashbobord.herokuapp.com/', config('SERVER', default='127.0.0.1')]

替换

ALLOWED_HOSTS =['*']