修复不需要的 0001 Letsencrypt 证书

有时,如果我们对 let encrypt 证书涵盖的域进行了更改,我们可能会在 /etc/letsencrypt/中获得不需要的文件夹,例如 example.com-0001,这可能会导致我们链接到的证书的不幸影响Postfix(SMTP 服务器)和/或者 Dovecot(IMAP 服务器)配置可能不正确。
当用户尝试从其电子邮件客户端(即 Thunderbird 或者 Outlook)进行连接时,这可能会导致无效证书错误。

本文假设我们使用的是 Apache 虚拟主机设置,但它也可能对其他服务器有用。
只需忽略特定于 Apache 的部分。

解决这个问题很容易,可以通过几种方式完成。
最简单的方法可能是简单地删除证书并请求新的证书。
另一种方法是移动证书并删除过时的证书,但这需要我们手动编辑虚拟主机和其他配置文件,以链接到正确的证书。

删除 0001 目录

就我而言,我只是从 live、archive 和renewal 目录中删除了example.com 证书,如下所示:

sudo su
rm -R /etc/letsencrypt/live/*example.com*
rm -R /etc/letsencrypt/archive/*example.com*
rm -R /etc/letsencrypt/renewal/*example.com*

这将删除子域目录和以 -0001 结尾的目录,以及裸域 (example.com)。
-R 参数使其具有递归性,因此它还会删除目录。

在我们执行下一步之前,请务必将 *-le-ssl.conf 文件中手动添加的任何修改复制到标准 example.com.conf 文件中。

这些文件位于 /etc/apache2/sites-available/。

最后,我们应该删除旧的 *-le-ssl.conf 文件,因为它们现在链接到不存在的证书。
为此,请从 /etc/apache2/sites-available/和 /etc/apache2/sites-enabled/目录中删除 example.com-le-ssl.conf。

rm -R /etc/apache2/sites-enabled/*example.com-le-ssl.conf
rm -R /etc/apache2/sites-available/*example.com-le-ssl.conf

笔记。
这些文件在服务器上可能以不同的方式命名。
找出它们名称的最佳方法是导航到站点可用文件夹:

cd /etc/apache2/sites-available/
ls

当我们请求新证书时,由 let encrypt 自动重新创建 SSL 配置文件。
这一次,请仔细考虑要在证书中包含哪些域。

要请求新证书,请在终端中键入以下命令,并在询问时选择要包含的域:

letsencrypt
日期:2020-06-02 22:18:52 来源:oir作者:oir