bncert-toolを実行した時にエラーでLightsailのサイトのSSL証明書が更新されない
導入時のメールアドレスと異なるメールアドレスで更新を実行してしまったケース
当社のいくつかのサイトではAWSのLightsailを活用させてもらっていますがLightsailのLet’s Encrypt SSL 証明書は、作成後 90 日で有効期限が切れます。そのため毎90日毎に簡単な更新プロセスを行いこれまで問題はなかったのですが、この度更新のためのbncert-toolを実行した時にエラーになりました。証明書も更新されておりません。
今回、実行した最初にbitnamiの更新が求められてツールを実行した際に自動実行されたようです。そして実行時にメールアドレスを求められて、この時に利用したメールアドレスが導入時のメールアドレスと異なっていたことが原因と推定されます。
【参考】導入時に利用したメールアドレスの確認方法:
sudo ls /opt/bitnami/letsencrypt/accounts/acm
【参考】導入したドメイン名の確認方法:
sudo /opt/bitnami/letsencrypt/lego –path /opt/bitnami/letsencrypt list
導入時のメールアドレスと異なる場合にはbncert-toolのエラーログ(/tmp/bncert-*.logで出力されます)に以下のような情報が記録されていました。
【エラー例】
xxxx/xx/xx xx:xx:xx Account xxxxx@xxxxx.xx.xx is not registered. Use ‘run’ to register a new account.
導入時のメールアドレスが判明したら正しいメールアドレスを利用してツール再実行してみてください。もし不明などの場合は以下で証明書更新を実行する新しくユーザのメールアドレスを追加します。
sudo /opt/bitnami/letsencrypt/lego –path /opt/bitnami/letsencrypt –email=”xxxx@xxxxx.xx.xx” –tls –domains=yyyy.yy.yy –user-agent bitnami-bncert/2.0.1 run
1) xxx@xxxxx.xx.xxは新しくツールを実行するメールアドレスを入れてください。
2)yyyy.yy.yyは証明書を更新したいサイトのドメインを入れてください。
一部エラーになる場合があります当方の場合はこれで成功しました。
【エラー例】
xxxx/xx/xx xx:xx:xx Could not obtain certificates:
error: one or more domains had a problem:
[yyyy.yy.yy] [yyyy.yy.yy] acme: error presenting token: could not start HTTPS server for
challenge: listen tcp :443: bind: address already in use
実行後に再度bncert-toolを実行して証明書の更新を行ってみてください。
参考までにAWSのドキュメントはこちらです。異なる更新方法が紹介されています。
もしよかったら当社の販売サイトもご覧ください。