取り組んでいること
個人のアプリケーションを作成しており、本番環境にデプロイした際にエラーが起こりました。
エラー内容
ゲストログインをすると「このページが見つかりません」という表示になります。
エラー404:リンク先のページに問題があるということ
→エラー表示:net::ERR_ABORTED 404 (Not Found)
######環境
ruby '2.6.5'
rails '6.0.3.4'
サーバー:AWS(EC2)
web Server;Nginx
Application Server:Unicorn
行ったこと
検証画面より、エラー対象になり得るコードが下記のものを表示されていました。
HTML head要素内 <script src="/packs/js/application-a1e7bfdb59418e304c0d.js" data-turbolinks-track="reload"></script>
このことを踏まえて、2点取り組みました。
①上記のエラー対象コード、"/packs/js/application-a1e7bfdb59418e304c0d.js" を確認・編集しようと試みましたが、
このファイルを見つけることが出来ませんでした。
②エラー404より、リンク先にまつわるページ・コードを一旦削除してみましたが、エラー404は変わりませんでした。
数日前まで正常に動いていたので、覚えている範囲内でコードを元に戻しましたが、エラー404のままでした。
下記にゲストログイン用のコードも添付しております。
user_controller.rb class UsersController < ApplicationController : : def new_guest user = User.find_or_create_by!(email: 'guest@example.com') do |u| u.nickname = 'Guest' u.password = SecureRandom.urlsafe_base64 u.password_confirmation = u.password end sign_in user redirect_to root_path end end
ルーティング Rails.application.routes.draw do : devise_for :users post '/users/guest_sign_in', to: 'users#new_guest' : : end
Nginx upstream app_server { # Unicornと連携させるための設定 server unix:/var/www/アプリ名/shared/tmp/sockets/unicorn.sock; } server { # ポート番号 listen 80; server_name 取得したドメイン; client_max_body_size 2g; # 接続が来た際のrootディレクトリ root /var/www/アプリ名/current/public; # assetsファイル(CSSやJavaScriptのファイルなど)にアクセスが来た際に適用される設定 location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; root /var/www/アプリ名/current/public; } try_files $uri/index.html $uri @unicorn; location @unicorn { 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; } error_page 500 502 503 504 /500.html; }
対処方法などがあれば、是非アドバイスをお願い致します。
足りないデータ等があれば、ご提供させていただきます。
拙い説明ではありますが、ご検討よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー