我刚刚用 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 上进行其他设置吗?