2019年4月19日金曜日

certbot の証明書更新時のエラー

※2020/4/20 出力メッセージ変更に伴い、本文を変更

以前、このブログで
「letsencrypt」のSSLサーバ証明書発行枚数制限
を書いた時にはサーバがWindowsだったが、いつの間にか諸事情でLinux(Debian)にOSを変更して、certbot(letsencrypt)を使用し続けていた。
ところが先日(2020/4/19 2019/4/16)、メーラやWebブラウザで自サーバにアクセスしたとき、証明書エラーが出始めた。
もちろん、メーラやWebブラウザ側に変更はないので、サーバ側の問題である。

一番臭い、certbot を調べると、証明書更新時に何やらエラーを吐いていた。
「Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.」
こんな感じで、証明書取得に使った authenticator ではまともな証明書を発行できなくなったらしい。
なら、どうすればいいのかのヒントまではくれないので、更新ではなく再発行で挑戦。
もちろん、authenticator は「apache」だったので、「manual」に変更して実行。

#certbot certonly --manual
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c' to cancel):kamiyama.mydns.jp
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for kamiyama.mydns.jp
-------------------------------------------------------------------------------
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.
Are you OK with your IP being logged?
-------------------------------------------------------------------------------
(Y)es/(N)o: y
-------------------------------------------------------------------------------
Create a file containing just this data:
[文字列1]
And make it available on your web server at this URL:
http://kamiyama.mydns.jp/.well-known/acme-challenge/[文字列2]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

ここで、自分のWebサーバのルートで新規ディレクトリと認証ファイルを作成しろということなので、別ターミナルで
#mkdir -p /var/www/html/.well-known/acme-challenge
#printf "%s" [文字列1] > /var/www/html/.well-known/acme-challenge/[文字列2]
を実行し、Enterキーを入力。
もちろん、「/var/www/html」はwebサーバのルートディレクトリに置き換えること。

Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/kamiyama.mydns.jp/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/kamiyama.mydns.jp/privkey.pem
   Your cert will expire on 20XX-XX-XX. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le


とりあえず、証明書の再発行に成功した。
原因らしきものは、
2018.01.11 Update Regarding ACME TLS-SNI and Shared Hosting Infrastructure
かな...うーん、よく解らん。

0 件のコメント:

コメントを投稿