Let’sEncrypt 証明書を手動で更新
1年のうちある一定期間しかアクセスが集中しないサイト。普段は数年前に借りたさくらのVPSで動かしています。
SSLは無料のLet’sEncryptを利用していたのですが、有効期限が90日とのことで定期的に証明書の取得の更新が必要となります。もうすぐ有効期限がきれるよーと下記のようなメールが届きましたのでその更新作業を手動で行いました。
Your certificate (or certificates) for the names listed below will expire in 20 days (on 25 Mar 19 06:32 +0000).
Please make sure to renew your certificate before then, or visitors to your website will encounter errors.
We recommend renewing certificates automatically when they have a third of their
total lifetime left. For Let's Encrypt's current 90-day certificates, that means
renewing 30 days before expiration. See
https://letsencrypt.org/docs/integration-guide/ for details.
証明書の更新作業でエラー発生
certbot-auto renewするだけだからカンタン!
/usr/local/certbot-auto renew
...ではなく、エラーが発生。
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator webroot, Installer None
Renewing an existing certificate
Performing the following challenges:
~ 省略 ~
1 renew failure(s), 0 parse failure(s)
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: ドメイン名
Type: connection
Detail: Fetching
Connection refused
Domain: www.ドメイン名
Type: connection
Detail: Fetching
Connection refused
~ 省略 ~
原因と対応
にアクセスできないよ!と書いてあるようなので下記対応をしました。
海外からのアクセス許可
.htaccessに海外からのアクセス禁止していたのを一時的にはずす。
(SSL導入時にも忘れてたような。。。)
→エラー
フォルダの作成
フォルダを見てみると.well-knownフォルダはありましたが、acme-challengeフォルダが存在しなかったので作成。
再起動
これで再度certbot-auto renewを実行したところ、証明書の更新に成功しました!
[root@local]# ./certbot-auto renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/ドメイン名.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator webroot, Installer None
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for ドメイン名
http-01 challenge for www.ドメイン名
Waiting for verification...
Cleaning up challenges
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed without reload, fullchain is
/etc/letsencrypt/live/ドメイン名/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/ドメイン名/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
証明書の有効期限を確認
certbot-auto certificates で有効期限を確認することができます。
[root@]# /usr/local/certbot-auto certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
Certificate Name: ドメイン名
Domains: ドメイン名
Expiry Date: 2019-06-05 05:54:12+00:00 (VALID: 89 days)
Certificate Path: /etc/letsencrypt/live/ドメイン名/fullchain.pem
Private Key Path: /etc/letsencrypt/live/ドメイン名/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
更新した日から90日延長されていました。