Heroku を使用して Django サイトをデプロイしたところ、example.herokuapp.com で問題なく動作しました。
私が抱えている問題は、example.com にアクセスすると、Bad Request (400) が表示されることです。400 エラーに関する Django のドキュメントを見てきましたが、何が問題なのかわかりません。
私は Django 1.9.5 を使用しており、cookiecutter-django でプロジェクトを開始しました。お名前.com は私のドメイン レジストラです。
私の設定の production.py:
ALLOWED_HOSTS = env.list('DJANGO_ALLOWED_HOSTS', default=['example.com'])
ALLOWED_HOSTS のこの DJANGO_ALLOWED_HOSTS 部分がどのように機能するかは 100% わかりませんが、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
お名前.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
私が見つけることができるほとんどの回答/フォーラムは、エラー、ALLOWED_HOSTS、Heroku カスタム ドメイン、および DNS レコードを見つけるためにこれら 3 つの場所を指しています。しかし、私はエラーを見つけることができません。
私が見つけた 1 つの提案は、サイトの他の領域をチェックするように述べています。example.com/about/ など、どこに行っても同じエラーが発生します。
お名前.comで他に設定する必要はありますか?