You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何针对指定域名彻底重置/清除Certbot状态并合并证书

如何针对指定域名彻底重置/清除Certbot状态并合并证书

绝对可以做到,而且完全不会影响其他域名的Certbot状态——下面是一步步的干净操作流程,确保彻底清除旧证书的所有痕迹,就像从一开始就用合并证书一样:

第一步:先做个备份(重中之重!)

不管操作多熟练,备份总是能帮你在出问题时快速回滚。咱们先把Certbot的整个配置目录备份一份:

sudo cp -r /etc/letsencrypt /etc/letsencrypt.backup

第二步:确认当前的证书状态

先列出所有已有的证书,找到你要处理的domain.tld和www.domain.tld对应的两个旧证书,记下它们的Certificate Name:

sudo certbot certificates

输出里会显示每个证书的详细信息,比如域名列表、证书路径、名称,别搞错要删除的证书哦,其他域名的证书咱们不动。

第三步:撤销并删除旧证书(可选但推荐做撤销)

撤销证书不是强制要求,但能让CA知道这些旧证书不再被使用,更符合“彻底干净”的要求。分别针对两个旧证书执行:

# 先撤销第一个旧证书,替换成你记下的Certificate Name
sudo certbot revoke --cert-name old-domain-cert-name
# 再撤销第二个旧证书
sudo certbot revoke --cert-name old-www-domain-cert-name

撤销后,彻底删除这些证书的所有相关文件(配置、密钥、证书本身),同样分别操作:

sudo certbot delete --cert-name old-domain-cert-name
sudo certbot delete --cert-name old-www-domain-cert-name

这一步只会删除目标证书的文件,完全不会碰其他域名的Certbot数据,放心操作。

第四步:验证旧证书已被清除

再跑一遍证书列表命令,确认domain.tld和www.domain.tld的旧条目已经消失:

sudo certbot certificates

第五步:生成合并后的新证书

现在生成包含主域名和www子域名的新证书,根据你的web服务器类型选择对应的命令:

如果用Nginx/Apache插件(自动配置服务器)

# Nginx用户
sudo certbot --nginx -d domain.tld -d www.domain.tld
# Apache用户
sudo certbot --apache -d domain.tld -d www.domain.tld

Certbot会自动验证域名所有权,并更新服务器配置,把新证书用上。

如果用Webroot验证(适合自定义服务器配置)

替换/path/to/your/webroot为你的网站根目录路径(比如/var/www/domain):

sudo certbot certonly --webroot -w /path/to/your/webroot -d domain.tld -d www.domain.tld

生成后你需要手动把新证书路径配置到你的web服务器里,然后重启服务生效。

如果用DNS验证(适合无法用webroot/服务器插件的场景)

根据你的DNS服务商选择对应的插件(比如Cloudflare、Route53等),以Cloudflare为例:

sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini -d domain.tld -d www.domain.tld

具体插件参数可以参考Certbot的内置帮助,这里就不展开了。

第六步:验证新证书生效并测试续期

  1. 重启你的web服务器让新证书生效:
# Nginx
sudo systemctl restart nginx
# Apache
sudo systemctl restart apache2
  1. 访问你的网站,查看浏览器地址栏的证书信息,确认同时包含domain.tld和www.domain.tld;或者用命令行验证:
openssl s_client -connect domain.tld:443 | openssl x509 -noout -text | grep DNS

输出里应该能看到两个域名。

  1. 测试自动续期是否正常,确保新证书会被自动更新,且不影响其他域名:
sudo certbot renew --dry-run

如果输出显示所有证书(包括其他域名的)都能正常续期,就大功告成了!

最后:清理备份(可选)

如果你确认一切正常,没有问题,可以删除之前的备份:

sudo rm -rf /etc/letsencrypt.backup

备注:内容来源于stack exchange,提问作者Szczepan Hołyszewski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 12:58:11