1. ホーム
  2. python

[解決済み] なぜ Django は "DisallowedHost at /" というエラーを投げるのでしょうか?

2022-02-16 01:09:12

質問

私はこれを使用して自分のDjangoサーバーをセットアップしています。 デジタルオーシャンのチュートリアル . 各ステップに従ってDjangoフレームワークを作成し、このコマンドでサーバーを実行しました。

./manage.py runserver 0.0.0.0:8000

8000番ポートでIPを訪問しようとしたところ、以下のエラーが表示されました。

DisallowedHost at /
Invalid HTTP_HOST header: 'XXX.XXX.XXX.XXX:8000'. You may need to add u'XXX.XXX.XXX.XXX' to ALLOWED_HOSTS.

(IPをXで代用)。

なぜこのようなことが起こるのでしょうか?

どうすればいいですか?

あなたの settings.py というリストがあります。 ALLOWED_HOSTS . そのリストに、エラーで表示されたIPアドレスを追加する必要があります。

ALLOWED_HOSTS = ['XX.XX.XX.XX']

備考 : のみ はIPアドレスを追加し ない は、ポート(例. 127.0.0.1 でなく 127.0.0.1:8000 )

説明

Django は Host ヘッダーに、許可されたホストの範囲内の URL/IP アドレスが含まれているかどうかを調べます。

djangoのウェブサイトから。

<ブロッククオート

これはHTTPホストヘッダへの攻撃を防ぐためのセキュリティ対策で、一見安全に見える多くのウェブサーバ設定でも可能です。

https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts