14

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で他に設定する必要はありますか?

4

2 に答える 2

20

コマンドラインを使用して設定に追加.example.comするだけです:ALLOWED_HOSTS

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

または heroku ダッシュボードを使用します。

于 2016-04-09T23:11:18.740 に答える