実現したいこと
VPSでrailsアプリのアップロードを行いました。
ですが「403 Forbidden nginx/1.18.0 (Ubuntu)」と表示され、サイトが公開されないの解決したいです。
前提
権限をもったユーザーの作成が出来ました。
ドメイン申請やポート開放も行いました。
nginxの記述も行っています。
railsアプリのファイルはすでにダウンロード出来ており、環境構築も完成しました。
SSLの証明書の取得も出来ています。
プロジェクトは/home/ユーザー/直下にアップロードしています。
発生している問題・エラーメッセージ
403 Forbidden nginx/1.18.0 (Ubuntu)
該当のソースコード
調べたところ、DNS設定か、パーミッションか、nginxのドキュメントルートなどの記述ミス等が原因と書かれていたので、nginxの記述を記載させてた抱きます。
server { server_name ドメイン名; # ドメイン名を記載 root /home/ユーザー/プロジェクト; location / { root /home/ユーザー/プロジェクト; index index.html index.htm; } # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } listen [::]:443 ssl ipv6only=on; # managed by Certbot listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/ドメイン名/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/ドメイン名/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { if ($host = ドメイン名) { return 301 https://$host$request_uri; } # managed by Certbot listen 80; listen [::]:80; server_name ドメイン名; return 404; # managed by Certbot }
試したこと
先述にもあるとおり、DNS設定か、パーミッションか、nginxのドキュメントルートなどの記述ミス等が原因と書かれていたので、chmod 701 /home/ユーザー
を試しましたが、ダメでした。
Nginxで403 Forbiddenエラーの解決策(Rails+AWS+Nginx+Unicorn環境)
nginxのエラーログも確認しました。
そこで原因になっていそうなログを取り上げました。
sudo
12024/09/26 09:35:25 [error] 175813#175813: *292 open() "/home/ユーザー/railsアプリプロジェクト/favicon.ico" failed (2: No such file or directory), client: 113.1> 22024/09/26 09:35:25 [error] 175813#175813: *292 open() "/home/ユーザー/railsアプリプロジェクト/404.html" failed (2: No such file or directory), client: 113.149.> 32024/09/26 01:13:36 [crit] 175813#175813: *115 SSL_do_handshake() failed (SSL: error:0A00006C:SSL routines::bad key share) while SSL handshaking, client: >
!追記!
railsアプリのトップページが/プロジェクト/app/views/toppages/index.html.erbに存在しているのですが、nginxがそこまで特定できていない可能性はあるでしょうか?
一度、nginxのルートxサーバーのデフォルトにあるvar/www/html/indexをドキュメントルートにしてみましたが、表示されませんでした。
ドキュメントルート以外に問題があると分かりました。
!追記!
root /home/ユーザー/プロジェクト/app/viws/toppages;にしてさらにルートを限定させたのですが、トップページのダウンロードが行われるので元に戻したのですが、URLに飛ぶとトップページのファイルのダウンロードが引き続き行われてしまって元に戻せなくなってしまいました。
これはしばらくすると治る事象でしょうか?
まだ全てを調べきっていないので、後から追記等もすると思います。
すみません。
補足情報(FW/ツールのバージョンなど)
nginx/1.18.0 (Ubuntu)
回答1件
あなたの回答
tips
プレビュー