更改 Lets Encrypt SSL 证书的基本域名

问题描述 投票:0回答:5

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

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

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

我尝试过跑步

letsencrypt-auto --apache -d example.me -d www.example.me  -d mysql.example.me

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

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

apache ssl ssl-certificate lets-encrypt
5个回答
8
投票

您可以简单地强制续订:

./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


2
投票

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

要撤销请执行以下操作:

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

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

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


0
投票

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

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

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

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

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

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

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


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

0
投票

这对我使用最新的 certbot 版本有用:

sudo certbot certonly --cert-name foo.com --standalone -d foo.com -d bar.net --force-renewal

我向

foo.com
bar.com
baz.com
颁发了证书,并且想要删除
baz.com

© www.soinside.com 2019 - 2024. All rights reserved.