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

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

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

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

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

1回答

271閲覧

OS再インストール後からnginxへのSSL接続ができない

numin

総合スコア30

nginx

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

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

0クリップ

投稿2024/09/26 11:18

実現したいこと

OSを再インストールしたVPSで、以前のようにnginxへSSLで接続したい

前提

これまではさくらのVPSにCentosをインストールして利用しており、SSL証明書のインストール・接続が問題なく行えていたのですが、Centos8系のサポートが完全に終了してしまったことを受け、つい先日Ubuntu 24.04を再インストールしたところ、一切接続できなくなってしまいました。

バックアップしてあったSSL証明書をVPSへ移行し、nginxの設定ファイルについても以前のものを参考に入力してSSL接続を試みたのですが、毎回「403 Forbidden」のエラーコードが表示されてしまい、index.htmlの内容が表示されない状況となっています。

もしこのエラーの原因・改善方法をご存じの方がいらっしゃいましたら、ご教示いただけますと幸いです。

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

1. ブラウザからHTTPS接続を試みた場合

403 Forbidden nginx/1.24.0 (Ubuntu)

※なお、SSL接続用の設定ファイルを削除/移動してからHTTP接続を行うと、問題なくウェブページが表示されます。

2. nginxの状態

「systemctl status nginx.service」を実行してみても、こちらではエラーは発生していない様子です。

● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled) Active: active (running) since Tue 2024-09-24 20:37:35 JST; 1 day 23h ago Docs: man:nginx(8) Process: 599 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 615 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 627 (nginx) Tasks: 3 (limit: 1068) Memory: 6.0M (peak: 6.5M) CPU: 2.135s CGroup: /system.slice/nginx.service ├─627 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ├─629 "nginx: worker process" └─630 "nginx: worker process" Sep 24 20:37:35 tk2-210-14530 systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy se> Sep 24 20:37:35 tk2-210-14530 systemd[1]: Started nginx.service - A high performance web server and a reverse proxy ser> lines 1-17/17 (END)

該当のソースコード

1. nginxの設定ファイル(デフォルト)

【/etc/nginx/nginx.conf】

※デフォルト状態から変更していません。

user www-data; worker_processes auto; pid /run/nginx.pid; error_log /var/log/nginx/error.log; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## access_log /var/log/nginx/access.log; ## # Gzip Settings ## gzip on; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } #mail { # # See sample authentication script at: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http localhost/auth.php; # # pop3_capabilities "TOP" "USER"; # # imap_capabilities "IMAP4rev1" "UIDPLUS"; # # server { # listen localhost:110; # protocol pop3; # proxy on; # } # # server { # listen localhost:143; # protocol imap; # proxy on; # } #}

2. nginxの設定ファイル(別ファイルから読み込み)

【/etc/nginx/conf.d/ssl.conf】

server { listen 80; server_name nikukyu.com www.nikukyu.com; rewrite ^ https://nikukyu.com$request_uri?; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name nikukyu.com www.nikukyu.com; root /var/www/html; ssl_certificate "/etc/nginx/conf.d/ssl2024/ssl.pem"; ssl_certificate_key "/etc/nginx/conf.d/ssl2024/ssl.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_protocols TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256 kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 DES-CBC3-SHA +SHA !aNULL !eNULL !LOW !kECDH !DSS !MD5 !EXP !PSK !SRP !CAMELLIA !SEED'; index index.html; }

試したこと

初めはOSを再インストールしたことによりSSH証明書が無効になってしまったのかと思いさくらVPSのサポートに問い合わせましたが、エラーであってもnginxのページが表示されていることから証明書には問題がないこと、またサーバの設定に関する事柄であるためサポートはできないことを伝えられました。

その他、ssl.confの内容をデフォルトの設定ファイルへ移す、nginxやサーバそのものを再起動するなどの対処を行いましたが、解決できませんでした。

以上です。

初歩的な問題かもしれませんが、何卒よろしくお願いいたします。

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

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

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

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

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

mike2mike4

2024/09/26 13:56

403 Forbiddenエラーが発生している原因として、以下のようなことが考えられます: ファイルとディレクトリのパーミッション設定が適切でない可能性があります。 Nginxのユーザー(www-data)がドキュメントルート(/var/www/html)にアクセスできない可能性があります。 SELinuxが有効になっていて、Nginxのアクセスをブロックしている可能性があります。
hqf00342

2024/09/26 14:47

コンフィグにserver_nameが書かれていたので失礼ながら確認させてもらいましたがSSLは問題ないと思います。 https://www.○○○.com/ は403応答ですが https://www.○○○.com/index.htmlは 404 NotFound応答なので 恐らくインデックスファイル(index index.htmlで設定)が入っていないのではないかと思われます。
melian

2024/09/26 14:59

設定に error_log /var/log/nginx/error.log; とありますので、/var/log/nginx/error.log の内容を確認すると原因が判明するかもしれません。
guest

回答1

0

ベストアンサー

listenについて回答しましたがこちらは私の間違いでしたので撤回します。
代わりにmike2mike4さんからコメントがありますが、こちらについての具体的な作業方法を回答とさせて頂きます。

/var/www/htmlをwww-dataが閲覧できるようにする

sudo chown -R www-data:www-data /var/www/html

SELinuxを無効化する

/etc/selinux/config を編集してSELINUX=disabledにしてサーバーを再起動する。

投稿2024/09/26 13:39

編集2024/09/26 14:20
mingos

総合スコア4190

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

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

mike2mike4

2024/09/26 13:58

二番目のlistenは単にIPv6の指定では?
mingos

2024/09/26 14:10

コメントありがとうございます。IPv6を失念していました。 回答を訂正します。
numin

2024/09/26 15:10

mike2mike4さん、hqf00342さん、mingosさん、コメントやご回答を頂きまして、ありがとうございます。 結果から申しますと、mike2mike4さん・mingusさんに教えていただいた、「/var/www/htmlをwww-dataが閲覧できるようにする」の方法で解決しました。 あまり詳しくないのですが、hqf00342さんに検証していただいたindex.htmlが読み込まれない件についても、同様の理由で発生していたのかもしれません。 なお頂いたコメント・回答の内容は全て問題解決に繋がったのですが、解答欄で具体的な操作方法を教えていただきましたmingusさんの投稿内容をベストアンサーとさせていただきたいと思います。 皆さん、ご丁寧に解説していただきありがとうございました。
mike2mike4

2024/09/26 15:36 編集

追記します。UbuntuはデフォルトでSElinuxが無効になっているので、関係ありませんでした。代わりに、AppArmorというのが入っているそうで、私は初耳でしたが、それなのかなーと思っていたら解決したとのことで良かったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問