5

我使用 Let's Encrypt 允许我在我的服务器上设置 SSL/HTTPS。

问题是我也运行了许多子域,我在初始安装中包含了这些子域,但现在回头看 - 证书详细信息显示它是颁发给我的一个子域的。

我想将此更改为我的基本域,但我只是不确定如何执行此操作。

我试过跑步letsencrypt-auto --apache -d example.me -d www.example.me -d mysql.example.me

这经历了整个过程,但没有改变任何东西,因为证书已经颁发。

我现在如何更改证书,或重新颁发它们以便将它们颁发给我的基本域?

4

4 回答 4

6

您可以简单地强制更新:

./certbot --apache -d example.me -d www.example.me -d mysql.example.me --force-renewal

参考:https ://community.letsencrypt.org/t/change-base-domain-name-for-lets-encrypt-ssl-certificate-in-certbot/16955/2

于 2016-07-08T13:34:38.540 回答
1

您可以撤销您当前的证书并重新签发 -d example.com,首先是子域。

要撤销:

$ letsencrypt revoke --cert-path example-cert.pem

并使用您已有的命令重新发出。

注意:请注意使用限制,否则您最终可能会在一段时间内不颁发更多证书。

于 2016-05-10T19:29:23.280 回答
0

首先让我们明确你的问题:

证书详细信息显示它已颁发给我的一个子域。

您可以获得多个域的单个证书(多个 -d 参数),并且只有一个被列为 CN(通用名称),而其他只是 SAN(主题替代名称)。当前 LE 的限制是一个证书中包含 100 个域名。我不确定官方 LE 客户端,但在我使用simp_le的情况下,指定的最后一个域用作 CN,其他域用作 SAN。看起来您想让您的主域成为 CN?然后将其作为最后一个 -d 参数尝试。

现在,如果您为特定域运行 LE 客户端,并且系统上已经存在相同的证书,那么 LE 会检查证书的有效期,如果(默认情况下)到期超过 30 天,则不执行任何操作。这就是为什么您可以将 LE 命令放入 cron 作业并让它每天运行,并且仅在需要时更新证书。

我现在如何更改证书,或重新颁发它们以便将它们颁发给我的基本域?

只需从系统中删除旧证书并尝试再次执行 LE 命令。请注意 -d 命令以获取所需的域作为 CN 而不是 SAN。

小心,不要达到LE CA 的速率限制(每个域每周 20 个证书)......

于 2016-05-17T06:28:38.177 回答
0

您可以使用该--expand指令将其他子域作为 SAN 添加到现有证书(这可能只是在幕后撤销并重新颁发证书)。

只需确保包含所有现有域即可。

因此,如果您最初要求:

-d example.com -d www.example.com

click.example.com...您可以通过发出新命令使用新的子域来扩展它:

--expand -d example.com -d www.example.com -d click.example.com
于 2016-07-12T09:29:25.177 回答