LoginSignup
0
0

More than 3 years have passed since last update.

AWSを使用するWebアプリケーションをデプロイして、アクセスするとBad Requestが出た時の対処

Posted at

この記事について

とある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の再起動を忘れないで下さい。

参考文献

この記事は以下の情報を参考及び一部引用して執筆しました。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0