如何完全删除 certbot 创建的 SSL 证书?

如何完全删除 certbot 创建的 SSL 证书?

我使用带有 Nginx 的 Ubuntu 16.04,并且在我的操作系统(Ubuntu 16.04)上安装了 Nginx Certbot:

apt-get update -y
add-apt-repository ppa:certbot/certbot -y
apt-get update -y
apt-get upgrade python-certbot-nginx -y

我设置了 Nginx 变量:

s_a="/etc/nginx/sites-available"
s_e="/etc/nginx/sites-available"

我根据以下变量创建了一个应用程序配置文件:

sed "s/\${domain}/${1}/g" "~/${repo}/template_nginx_app" > "${s_a}/${domain}.conf"
ln -sf ${s_a}/${domain}.conf ${s_e}

我根据应用程序配置使用 Certbot 创建了相应的 SSL 证书,如下所示:

certbot --nginx -d ${domain} -d www.${domain}

在某些情况下,SSL 证书创建方式不正确,只需进行一些配置后重新开始。

我怎样才能完全删除 SSL 证书(除了删除${domain}.conf也由 Certbot 编辑/重新配置的应用程序配置)?

有没有一种直接从 Certbot 执行此操作的快速方法?我希望应用程序配置和证书都不会留下任何残留。

这可能是个好办法:

rm ${s_a}/${domain}.conf && rm ${s_e}/${domain}.conf
rm -rf /etc/letsencrypt/{live,renewal,archive}/{${DOMAIN},${DOMAIN}.conf}

答案1

是的,certbot 可以帮助您清理。

sudo certbot certificates

将列出 certbot 认为你已经安装的内容

sudo certbot delete

将允许您以交互方式删除和清理不需要的/弃用的域。

答案2

获取将要删除的证书的名称

sudo certbot certificates

仅删除一个名称的证书

sudo certbot delete --cert-name server.domain.tld

答案3

如果您正在运行 apache2,您还需要从 conf 文件中删除 certbot 引用,否则当您添加新证书时 certbot 会感到困惑。

sudo certbot delete

然后

emacs /etc/apache2/sites-enabled/000-default-le-ssl.conf 

删除这些行

Include /etc/letsencrypt/options-ssl-apache.conf 
ServerName example.com 
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem 
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

相关内容