我使用带有 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