前提・実現したいこと
capistranoでAWSデプロイがをすると、
capistranoはデプロイ成功しているのですが、
AWSのヘルスチェックで
Health checks failed with these codes: [302]
が出てしまい、
httpsのwebサイトが表示されません。
http://xx.xx.xx.xx
ではwebサイト問題なく表示されます。
発生している問題・エラーメッセージ
Health checks failed with these codes: [302]
該当のソースコード
controller
ruby
1def index 2 unless user_signed_in? 3 redirect_to new_user_session_path 4 end 5 @events = Event.all 6 @customer = Customer.all 7 end
nginxのdockerfile
dockerfile
1FROM nginx:1.18.0 2 3RUN rm -f /etc/nginx/conf.d/* 4 5COPY nginx.conf /etc/nginx/conf.d/アプリ名.conf 6 7CMD /usr/sbin/nginx -g 'daemon off;' -c /etc/nginx/nginx.conf
nginx.conf
conf
1upstream アプリ名 { 2 server unix:///アプリ名/tmp/sockets/puma.sock; 3} 4 5server { 6 listen 80; 7 server_name アプリ名.com; 8 9 access_log /var/log/nginx/access.log; 10 error_log /var/log/nginx/error.log; 11 12 root /アプリ名/public; 13 14 client_max_body_size 100m; 15 error_page 404 /404.html; 16 error_page 505 502 503 504 /500.html; 17 try_files $uri/index.html $uri @アプリ名; 18 keepalive_timeout 5; 19 20 location @アプリ名 { 21 proxy_set_header X-Real-IP $remote_addr; 22 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 23 proxy_set_header Host $http_host; 24 proxy_pass http://アプリ名; 25 } 26} 27
試したこと
・ sudo systemctl reload nginx
・ sudo systemctl restart nginx
・nginx.confに
if ($http_x_forwarded_proto != https) {
return 301 https://$host$request_uri;
}を追加
参考にした記事
https://qiita.com/ameyamashiro/items/63793a02d66b6c48ec09
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
リダイレクトが原因起きているエラーという事のようですが、
意味が良く分かりません。
http→httpsのリダイレクトという事でしょうか?
アプリで未ログインの場合、トップページではなく、ログインページに遷移する
という事が問題なのでしょうか?
初学者でよく分かっていません。
どなたか教えて頂ければ幸いです。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/28 02:37
2021/01/28 02:56
2021/01/28 06:35