ALLOWED_HOSTの意味
- クライアントからのリクエストを受け付けるサーバのアドレスを登録する環境変数。
- 値には、DjangoのWebアプリを提供するサーバーのホスト名をリストで指定する。
ALLOWED_HOST役割
- HTTPのホスト・ヘッダー攻撃を防ぐため、つまりセキュリティ対策として設定する。
- クライアントからのリクエストに含まれるサーバアドレスがALLOWED_HOSTの値と異なる場合は、HTTPの400エラーを返す。
- インターネット上のサーバを用いてWebアプリを公開する場合は、サーバに指定されているアドレスを登録することになる。
具体例
- 開発環境の場合、全てのホストを許可するワイルドカードを指定すると楽
- ※本番環境では、セキュリティの問題から['*']を指定しないこと
settings.py
ALLOWED_HOSTS = ['*']
- サービスのドメインやIPアドレスを指定することも可
settings.py
ALLOWED_HOSTS = ['www.example.com']
ALLOWED_HOSTS = ['20.0.0.0']