実現したいこと
さくらのVPSでSSL(JPRS ドメイン認証型)を申し込み、NginXに設定したいと思っているのですが、confファイルの設定が上手くいかず、エラーとなってしまいます。
前提
さくらのVPSでSSL(JPRS ドメイン認証型)を申し込み、SSL証明書・中間CA証明書のダウンロード・結合・インストールを行ったのですが、最後のnginxの設定ができず、SSLを反映することができません。 どなたか正しい設定方法などをご存じありませんでしょうか。
発生している問題・エラーメッセージ
設定ファイル(ssl.conf)を更新後、「sudo systemctl restart nginx.service」でnginxを再起動しようとすると、下記のエラーが出力されます。
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.
また、上記の指示通りにコマンドを入力してみての結果は下記の通りです。
「$sudo systemctl status nginx.service」の結果:
× nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled) Drop-In: /usr/lib/systemd/system/nginx.service.d └─php-fpm.conf Active: failed (Result: exit-code) since Mon 2023-09-11 13:59:40 JST; 8h ago Duration: 17min 6.195s Process: 1617697 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Process: 1617698 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE) CPU: 14ms Sep 11 13:59:40 naokilucaVPS systemd[1]: Starting The nginx HTTP and reverse proxy server... Sep 11 13:59:40 naokilucaVPS nginx[1617698]: nginx: [emerg] unknown directive " listen " in /etc/nginx/conf.d/s> Sep 11 13:59:40 naokilucaVPS nginx[1617698]: nginx: configuration file /etc/nginx/nginx.conf test failed Sep 11 13:59:40 naokilucaVPS systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE Sep 11 13:59:40 naokilucaVPS systemd[1]: nginx.service: Failed with result 'exit-code'. Sep 11 13:59:40 naokilucaVPS systemd[1]: Failed to start The nginx HTTP and reverse proxy server. lines 1-16/16 (END)
「$sudo journalctl -xeu nginx.service」の結果
░░ Support: https://access.redhat.com/support ░░ ░░ A start job for unit nginx.service has begun execution. ░░ ░░ The job identifier is 162426. Sep 11 13:59:40 naokilucaVPS nginx[1617698]: nginx: [emerg] unknown directive " listen " in /etc/nginx/conf.d/s> Sep 11 13:59:40 naokilucaVPS nginx[1617698]: nginx: configuration file /etc/nginx/nginx.conf test failed Sep 11 13:59:40 naokilucaVPS systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE ░░ Subject: Unit process exited ░░ Defined-By: systemd ░░ Support: https://access.redhat.com/support ░░ ░░ An ExecStartPre= process belonging to unit nginx.service has exited. ░░ ░░ The process' exit code is 'exited' and its exit status is 1. Sep 11 13:59:40 naokilucaVPS systemd[1]: nginx.service: Failed with result 'exit-code'. ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: https://access.redhat.com/support ░░ ░░ The unit nginx.service has entered the 'failed' state with result 'exit-code'. Sep 11 13:59:40 naokilucaVPS systemd[1]: Failed to start The nginx HTTP and reverse proxy server. ░░ Subject: A start job for unit nginx.service has failed ░░ Defined-By: systemd ░░ Support: https://access.redhat.com/support ░░ ░░ A start job for unit nginx.service has finished with a failure. ░░ ░░ The job identifier is 162426 and the job result is failed. lines 376-404/404 (END)
該当のソースコード
ディレクトリ構成
/etc/nginx/: - default.d - conf.d: ○ssl.conf(設定ファイル) - ssl.key: ○server.key(秘密鍵) - ssl.csr: ○server.csr - ssl.ctr: ○server.crt ○JPRS_DVCA_G4_PEM.cer ○ssl.pem(上記2つを結合したもの)
設定ファイル
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/ssl.crt/ssl.pem"; ssl_certificate_key "/etc/nginx/ssl.key/server.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; }
試したこと
様々な解説記事を読み、「SSL」の指定方法や「http2」の有無などを変えて試してみましたが、いずれも効果はありませんでした。
補足情報(FW/ツールのバージョンなど)
なお、confファイルを削除するか、SSLに関する記述をコメントアウトすればnginxそのものは正しく動作するようになります。
補足(2023/9/11 15:24)
nginxのエラーログについてですが、数えきれないほど同様のエラーが発生していました。
知識不足のためどのあたりをコピーすればよいかわかりませんので、最近の7,000字ほどを記載します。
↓
補足(2023/9/13 9:34)
コメント欄でご助言いただいた通り、nginxの再起動(前回と同様のエラーコードが出力されて正しく起動できていませんが)・ブラウザからのアクセスをした後、出力されたエラーログの内容をコピーしました。
なお、設定ファイルの内容は質問時から一切変更していません。
※エラーログに新しく追記された内容:
2023/09/13 09:29:35 [emerg] 1629515#1629515: unknown directive " listen " in /etc/nginx/conf.d/ssl.conf:2
補足(2023/9/13 13:25)
回答でご指摘いただいた空白文字を全て半角スペースに修正したところ、エラーログに下記の内容が出力されました。
2023/09/13 13:21:58 [emerg] 1630558#1630558: cannot load certificate key "/etc/nginx/ssl.key/server.key": PEM_read_bio_PrivateKey() failed (SSL: error:1400006B:UI routines::processing error:while reading strings error:0480006D:PEM routines::problems getting password error:07880109:common libcrypto routines::interrupted or cancelled error:07880109:common libcrypto routines::interrupted or cancelled error:1C80009F:Provider routines::unable to get passphrase error:1400006B:UI routines::processing error:while reading strings error:0480006D:PEM routines::problems getting password error:07880109:common libcrypto routines::interrupted or cancelled error:04800068:PEM routines::bad password read) 24602,1 Bot
適切な情報を補足できておらずお手数をおかけしてしまうかもしれませんが、何卒よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー