Let’s encryptの証明書更新時のエラー
Let’s encryptの証明書期限の20日前になりました
突然メールが届きました。その内容は、let’s encryptで発行した証明書の期限が近づいてきたというものでした。確認すると、let’s encryptの証明書の期限は90日に設定されているようです。
なぜ期限が90日なのか
Let’s encryptの公式サイトによると、
- 漏洩した秘密鍵や誤発行された証明書が短い期間で無効になる
- 秘密鍵の危殆化(Key Compromise)や誤発行による被害を抑えることができる
- 期間は短いが、自動更新をすることができるので、使い勝手が良い
手動更新のやり方
certbot renew
できますが、以下のように、テストをしてから更新することをおすすめします。
certbot renew --dry-run
ちなみに、自分の環境ですと、この段階でエラーが出ました。
更新時にエラーが発生
発行したドメインが書かれている箇所については,{domain}と置き換えています。
Attempting to renew cert (domain) from /etc/letsencrypt/renewal/{domain}.conf produced an unexpected error: Failed authorization procedure. {domain} (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://{domain}/.well-known/acme-challenge/Xw4yyGGXTNxENzM6JttqRQ9WK4hKHwODHIjWC5IDAd8: "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p". Skipping.
All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/{domain}/fullchain.pem (failure)
原因は、初回にlet’s encryptで証明書を発行したパスから変更してしまった点です。
/etc/letsencrypt/renewal/{domain}.confを確認してみました。[webroot_map]の箇所が、以前のドキュメントルートのパスになっていたので、現在のドキュメントルートのパスに変更しました。再度、先程実行したコマンドを実行したところ、問題なく成功したので、
sudo systemctl restart httpd
を実行。証明書の確認を行ったところ、現在の日付から90日後に更新がされていました。これで無事解決です。今後は自動更新もできるようにしていきたいと思っています。
ディスカッション
コメント一覧
まだ、コメントがありません