実現したいこと
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やサーバそのものを再起動するなどの対処を行いましたが、解決できませんでした。
以上です。
初歩的な問題かもしれませんが、何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー