taro373
@taro373

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Let’sEncrypt certbot 取得と更新の違い

Let’sEncrypt の証明書をcertbotで取得しました。
dockerでnginxを立ち上げて、証明書の取得時は

$ certbot certonly --webroot

と実行しました。

この証明書は「certbot renew」で更新ができるようですが(実際に別のサーバでは手作業で更新を行っています)、今頃になってふと疑問が湧きました。

証明書の「新規取得」と「更新」は、動作としてなにが異なるのでしょうか。
「証明書を取得する』ということに関しては同じだと思うのですが、renewだと何が異なるのでしょうか。
「期限がきたら、再度取得する」と「更新」はどのように違うのでしょうか。
「certbot 取得と更新の違い」と検索してみましたが、答えが見つからず、質問しました。

更新を行うと下記のように、数字が増えたファイルができるようです
小さなファイルですから気にする必要はないと思いますが、古いファイルはいつまでも保存しておく必要があるのかなど、更新作業はなにをしているのわかっていません。
/etc/letsencrypt/live を参照すれば直前に更新された証明書が常に使用できるとまでは理解しました。

-rw-r--r-- 1 root root 1818 Apr  7 21:30 cert1.pem
-rw-r--r-- 1 root root 1818 Apr 14 18:14 cert2.pem
-rw-r--r-- 1 root root 1647 Apr  7 21:30 chain1.pem
-rw-r--r-- 1 root root 1647 Apr 14 18:14 chain2.pem
-rw-r--r-- 1 root root 3465 Apr  7 21:30 fullchain1.pem
-rw-r--r-- 1 root root 3465 Apr 14 18:14 fullchain2.pem
-rw-r--r-- 1 root root 1704 Apr  7 21:30 privkey1.pem
-rw-r--r-- 1 root root 1704 Apr 14 18:14 privkey2.pem

「/etc/letsencrypt/live/ドメイン名」ディレクトリに証明書ができました。
これをコンテナでマウントして使用しています。証明書の更新時にも「証明書を使用している側」のnginxは再起動する必要がありますか?
必要があるとすると、その理由は(想像するとのレベルで考えると)、「nginxは起動のタイミングで証明書を読み込んで使用している」なのですが、この理解で良いでしょうか。

0

1Answer

再起動(reloadは必要)する必要はありません。
但し、certonlyの取得の仕方で勝手に再起動されます。

certbot certonly --nginx ・・・

--apathe や --nginx (80番ポートを開けて)すると
renew でrestartしません。(内部でreloadしているかは確認中、していると見受けられます)
--standalone で取得したらそれを覚えていて、renewするたび(30日以下)nginx(443も含め)を停止し、簡易の80番サーバを起動し、取得後、nginxを起動します。トホホ!

0Like

Comments

  1. @taro373

    Questioner

    幸いにも?(質問に書いたように)--standalone ではなく--webrootを指定して取得しました
    再起動に関する動き、ありがとうございました。再起動が不要で助かります。

    タイトルとした方の質問、「証明書の「新規取得」と「更新」は、動作としてなにが異なるののか」もご存じでしょうか?

Your answer might help someone💌