本番環境でのデプロイ完了後にブラウザで開くと
assetsディレクトリのファイルが読み込めず、
以下のように「502 Bad Gateway」となり、正常に動作しません。
ちなみにリロードすると、コンソール上に表示されるエラーの数は変動します。
nginxのエラーログでは以下のような内容が表示されています。
2021/02/25 10:02:01 [error] 19204#0: *185 upstream prematurely closed connection while reading response header from upstream...
上記エラーと関連性があるのかは分かりませんが、
ALBのヘルスチェックは unhealtyとなっており、
status detailは
「Health checks failed with these codes: [301]」
となっています。
###インフラ環境
- EC2: t2micro
- RDS
- ELB(ALB)
- nginx: 1.18.0
- unicorn: 5.8.0
- capistrano: 3.15.0
###その他環境
- ruby: 2.6.3
- Ruby on Rails: 5.2.4.1
- webpack: 4.44.1
###関連ファイル
config/unicorn.rb
app_path = File.expand_path('../../../', __FILE__) worker_processes 1 timeout 60 working_directory "#{app_path}/current" listen "#{app_path}/shared/tmp/sockets/unicorn.sock" pid "#{app_path}/shared/tmp/pids/unicorn.pid" stderr_path "#{app_path}/shared/log/unicorn.stderr.log" stdout_path "#{app_path}/shared/log/unicorn.stdout.log" preload_app true before_exec do |server| ENV['BUNDLE_GEMFILE'] = "#{app_path}/current/Gemfile" end
/etc/nginx/conf.d/app.conf
proxy_cache_path /var/cache/nginx/rproxy levels=1:2 keys_zone=proxy1:10m inactive=1d; upstream app_server { server unix:/var/www/rails/app/shared/tmp/sockets/unicorn.sock max_fails=1 fail_timeout=10s; keepalive 40; } server { listen 80; server_name ip_addr; set_real_ip_from ip_addr; real_ip_header X-Forwarded-For; real_ip_recursive on; keepalive_timeout 60; root /var/www/rails/app/current/public; try_files $uri $uri/index.html @unicorn; location @unicorn { proxy_http_version 1.1; proxy_set_header Connection ""; proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Server $hostname; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_connect_timeout 75s; proxy_read_timeout 60s; proxy_send_timeout 60s; proxy_cache proxy1; proxy_cache_bypass $http_authorization $http_cookie; proxy_no_cache $http_authorization $http_cookie; proxy_buffering on; proxy_buffer_size 4k; proxy_buffers 8 4k; proxy_max_temp_file_size 1024m; proxy_busy_buffers_size 8k; proxy_pass http://app_server; } }
試したこと
自分なりに調べた限りでは、
前者のエラーに関連している可能性があるのは、
リバースプロキシとして導入しているnginxとunicornのtimeout関連の設定とプロセス数などが影響していると考えました。
試したこととしては上記のtimeout時間を延長または、プロセス数を減らすなどを試してみましたが、
一向に改善する様子がありませんでした。
何か他に影響している可能性についてご存知の方がいらっしゃいましたらご教示いただけないでしょうか。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/27 16:10