質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1799閲覧

AWS、ヘルスチェックが502エラーになります(Django)。

hiranohirano

総合スコア33

Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2018/11/25 07:57

前提・実現したいこと

djangoでWebアプリケーションを作りました。
AWS ELBにEC2をぶら下げて、そこにデプロイ(Nginx, gunicorn, postgresql)しましたが、
ヘルスチェックでエラーが発生してしまいます。
まずは、このエラーをなくして、AWS上でdjangoアプリを動かしたいです。

発生している問題・エラーメッセージ

AWSのEC2 マネジメントコンソール
登録済みターゲットのステータス=「unhealthy」

Health checks failed with these codes: [502]

bad gatewayのエラーのようです。

/var/log/nginx/access.log は以下の内容です。

10.0.1.56 - - [25/Nov/2018:07:36:30 +0000] "GET / HTTP/1.1" 502 3738 "-" "ELB-HealthChecker/2.0" "-" 10.0.0.168 - - [25/Nov/2018:07:36:33 +0000] "GET / HTTP/1.1" 502 3738 "-" "ELB-HealthChecker/2.0" "-"

該当のソースコード

/etc/nginx/nginx.conf

http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; index index.html index.htm; upstream app_server { server 127.0.0.1:8000 fail_timeout=0; } server { listen 80 ; server_name (ドメイン:example.com); client_max_body_size 6G; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } location /static { alias /home/ec2-user/myproject/static; }

settings.py

ALLOWED_HOSTS = ['127.0.0.1','ドメイン(example.com)',]

ヘルスチェックの設定

プロトコル : HTTP パス : / ポート : トラフィックポート 正常のしきい値 : 5 非正常のしきい値 : 2 タイムアウト : 5 間隔 : 30 成功コード : 200

wsgiサーバーと接続するときは以下のコマンドを実施しています。

gunicorn project_name.wsgi --bind=0.0.0.0:8000

以上となります。
原因がお分かりになる方、何卒宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rubytomato

2018/11/25 23:55

nginxが稼働するEC2からcurlなどでヘルスチェックページへアクセスして200 HTTP Status Codeが返りますか?
hiranohirano

2018/11/26 04:32

回答いただきありがとうございます!Allowed hostsにELBで利用するアドレスを追加したところ、HTTP Status Code 200コードが返るようになりました。ありがとうございました。
guest

回答1

0

ベストアンサー

ALLOWED_HOSTSにELBで利用するアドレスを全て追加してください。

投稿2018/11/26 02:18

moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiranohirano

2018/11/26 04:30

ご回答いただき、ありがとうございます! 上記のようにしたところ、ヘルスチェックに通りました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問