私は、Elastic Beanstalkを使用して、awsEC2でDjangoを使用してWebサイトを配置しました。 Django Webサイトで推奨されているように、ALLOWED_HOSTSを['www.mydomain.fr'、 '。mydomain.fr']に設定しました。
しかし、私は次のような多くのアラートを受け取りました:
無効なHTTP_Hostヘッダー: 'ip-xxx-xx-xx-xxx.eu-west-1.compute.internal'。u'ip-xxx-xx-xx-xxx.eu-westを追加する必要がある場合があります-1.compute.internal 'からALLOWED_HOSTS。
ip-xxx-xx-xx-xxx.eu-west-1.compute.internalは私のプライベートDNSですか?
ALLOWED_HOSTSに追加しても安全ですか、それともセキュリティリークにつながる可能性がありますか?
どうもありがとう
はい、大丈夫です。ただし、インスタンスを終了すると、そのアドレスは失われます。したがって、ALLOWED_HOSTSに対処するためのより柔軟で動的な方法を見つけるように努める必要があります。インスタンスのアドレスを環境変数として設定してみることをお勧めします。
または、あまり動的でないソリューション:AWS ElasticIPを使用してチェックインすることもできます。ただし、これは仮想プライベートクラウド内のプライベートサブネットでは不可能な場合があります。ただし、セットアップではそうではないようです。
探索する別のオプションがあります...これが安全であるかどうかについていくつかの調査を行う必要がありますが。このAWSページでAWSIPからインスタンスのメタデータをフェッチする方法をご覧ください...
http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html
そして、上記のAWSリソースをDjango設定ファイルで次のように活用します...
#Djangoプロダクション設定 インポートリクエスト from .base import * ########## ALLOWED_HOSTS fromrequests.exceptionsインポートConnectionError url = "http://169.254.169.254/latest/meta-data/public -ipv4 " try: r = requests.get(url) instance_ip = r.text ALLOWED_HOSTS + = [instance_ip] except ConnectionError: error_msg = "本番設定はAWSEC2インスタンスでのみ実行できます" raise ImproperlyConfigured(error_msg) ########## END ALLOWED_HOSTS