#この記事について
とあるDjango入門本を読んで、デプロイしてみたものの、アクセス時に躓いたので、後学のために残します。
##環境
####開発環境
OS : Windows10 pro
Python : 3.8
Django : 3.0.4
####本番環境
PostgreSQL : 11.5
EC2インスタンスへSSH接続ツール : PuTTY
Nginx
Gunicorn
##前提条件
デプロイ済みで、作成したWebアプリの稼働状況確認の段階とします。
##ソース
###settings.py
#####デプロイ時
DEBUG = False
ALLOWED_HOSTS = [os.environ.get('ALLOWED_HOSTS')]
##環境変数
###.bash_profile
(…略…)
export ALLOWED_HOSTS=<Elastic IP> ←AWSのインスタンス情報から確認できます。
##実行
http://(Elastic IP)/ でアクセス... Bad Requestと表示される。
##対処法
自分の環境では、どうやら環境変数のALLOWD_HOSTSが読み込まれないようなので、settings.pyに直接記入しました。
ALLOWED_HOSTS = ['127.0.0.1', '(Elastic IP)', '(EC2インスタンスのパブリックDNS(IPv4))']
おまじない程度にsourceコマンドで.bash_profileを更新後、Gunicornを再起動。
http://(Elastic IP)/ でアクセスすると行けました。
尚、独自ドメイン名でも、.bash_profile と settings.py のElastic IPの部分を独自ドメインに変更することでアクセスできました。
settings.pyを変更した際は、Gunicornの再起動を忘れないで下さい。
###参考文献
この記事は以下の情報を参考及び一部引用して執筆しました。