如何使用 certbot 只续订一个域名?

How to renew only one domain with certbot?

我有多个域和多个证书:

$ ll /etc/letsencrypt/live/
> domain1.com
> domain2.com
> domain3.com
> ...

我只需要更新 domain1.com,但命令 certbot renew 会更新所有域的证书。如何显式续订某些证书?

您可以使用此命令(对于 Apache 服务器):

certbot --apache certonly -n -d domain1.com
  • --apache 用于 apache 服务器,使用 --nginx 标记用于 nginx 服务器
  • -n 选项在没有提示的情况下执行命令
  • -d domain1.com 仅对 domain1.com
  • 执行

您可以使用 --dry-run 进行测试,您可以像使用 certbot renew

一样使用 --pre-hook--post-hook

来源:https://certbot.eff.org/docs/using.html#renewing-certificates

使用 renew--cert-name 选项续订单个证书。

(certonly 为一个或多个域创建 证书,如果存在则替换它)。

例子

certbot renew --cert-name domain1.com --dry-run

删除 --dry-run 以实际续订。


Cert-name != 域名

请注意,提供给 --cert-name 选项的值 是使用

找到的证书名称(不是域名)
certbot certificates

返回的列表类似于

-------------------------------------------------------------------------------
Found the following certs:
  Certificate Name: myfundomains.com
    Domains: myfundomains.com
    Expiry Date: 2018-05-04 04:28:05+00:00 (VALID: 67 days)
    Certificate Path: /etc/letsencrypt/live/myfundomains.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/myfundomains.com/privkey.pem
  Certificate Name: ask.myfundomain.com
    Domains: ask.myfundomain.com
    Expiry Date: 2018-03-13 18:59:40+00:00 (VALID: 16 days)
    Certificate Path: /etc/letsencrypt/live/ask.myfundomain.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/ask.myfundomain.com/privkey.pem
  Certificate Name: forums.myfundomain.com
    Domains: forums.myfundomain.com forum.myfundomain.com
    Expiry Date: 2018-04-11 16:39:18+00:00 (VALID: 45 days)
    Certificate Path: /etc/letsencrypt/live/forums.myfundomain.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/forums.myfundomain.com/privkey.pem
-------------------------------------------------------------------------------

注意第三个证书名称 (forums.myfundomain.com) 如何包含 多个域

  • forums.myfundomains.com
  • forum.myfundomains.com

重启 Apache/nginx

-------------------------------------------------------------------------------
new certificate deployed without reload, fullchain is
/etc/letsencrypt/live/ask.myfundomain.com/fullchain.pem
-------------------------------------------------------------------------------

记得重新启动您的网络服务器以使用新证书。