Nginx の SSL証明書更新方法

SSL証明書(サーバ証明書)の期限が近づいたので証明書の更新をしました。
その時の手順についてのメモです。

概要

  • サーバ証明書と中間証明書を結合したものをSSL証明書として使います。
  • 新旧のSSL証明書を入替える方法(リネーム)で更新します。
  • Nginx 10.3.1 の環境です。

既存のSSL証明書のパスの確認

nginxのコンフィグを確認し、既存のSSL証明書のパスを確認します。
通常は、/etc/nginx/conf.d/ 配下に、バーチャルホスト毎に
conf ファイルが作成されているので中身を確認します。

ssl_certificate /etc/pki/tls/certs/server.crt;
ssl_certificate_key /etc/pki/tls/private/server.key;

ssl_certificate は、SSL証明書のパスを設定します。
Nginxの場合、SSL証明書と中間証明書を結合したものを ssl_certificate に設定します。
このあたりはApacheとはちょっと違います。

ssl_certificate_key は、秘密鍵のパスを設定します。
前回と同じ秘密鍵を使用した場合は変更不要です。

・SSL証明書の保存ディレクトリ
/etc/pki/tls/certs/

・秘密鍵の保存ディレクトリ
/etc/pki/tls/private/

SSL証明書の更新作業

古いSSL証明書を退避します。

# cd /etc/pki/tls/certs/
# mv server.cer server.cer.作業日の日付

新しいSSL証明書と、中間証明書を結合します。

# cat 新しい証明書.crt 中間CA証明書.cer > server.cer

nginxサービスを再起動します

# systemctl restart nginx

SSL証明書の確認

https:// で問題なく接続ができることと、SSL証明書の期限が延長されていることを確認します。

SSL証明書の確認は、Google chrome の場合は、
F12キー => Securityタブ => View certificate から確認できます。

SSL証明書の確認方法