kg-icon
sadservers - "Geneva": Renew an SSL Certificate
2025-08-12

問題

SSL証明書の有効期限が切れてNginxが起動していないから、SSL証明書を有効な状態にしてNginxを再起動して疎通できるようにする、といった内容です。

やったこと

まずは証明書の発行先、発行元、有効期限が切れた日を確認。

bash
1sudo openssl x509 -in /etc/nginx/ssl/nginx.crt -noout -text
bash
1Subject: CN = localhost, O = Acme, OU = IT Department, L = Geneva, ST = Geneva, C = CH
2Subject Public Key Info:
3	Public Key Algorithm: rsaEncryption
4	  RSA Public-Key: (2048 bit)

IssuerとSubjectが完全に一致していると自己署名証明書ぽいらしいので、自分で/etc/nginx/ssl配下に新しいRSA秘密鍵を生成します。

bash
1sudo openssl genrsa -out new.key 2048

秘密鍵ができたので、次に認証局に提出するためのCSR(書類みたいなもの)を作成します。

bash
1sudo openssl req -new -key new.key -out new.csr
bash
1# 以下の内容を正確に記入
2Subject: CN = localhost, O = Acme, OU = IT Department, L = Geneva, ST = Geneva, C = CH
3Subject Public Key Info:
4	Public Key Algorithm: rsaEncryption
5	  RSA Public-Key: (2048 bit)

入力が完了したら次に進みます。以下を実行し証明書を発行します。

bash
1sudo openssl x509 -req -days 365 -in new.csr -signkey new.key -out new.crt

証明書が発行し終わったので、Nginxの設定を書き換えて再起動していきます。

bash
1sudo vim /etc/nginx/sites-available/default

new.keyとnew.crtに書き換えが終わったら以下を実行。

文法があっているかを確認するためのコマンド。

bash
1sudo nginx -t

問題なければ再起動。

bash
1sudo systemctl reload nginx

無事に疎通確認することができました。

今回はopensslのコマンドを使う必要があると調べてわかったのですが、全然使ったことがなくこのままやっても無理だなと思ったので一旦問題を閉じて、そこらへんのコマンドや何をやっているかなどを把握するところから始めました。

結構時間がかかりましたが色々知れて楽しかったです。