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

时间:2016-05-10 06:52:33

标签: apache ssl ssl-certificate lets-encrypt

我使用了Let的加密功能,允许我在服务器上设置SSL / HTTPS。

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

我想将此更改为我的基本域,但我不知道该怎么做。

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

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

如何立即更改证书,或重新签发证书以便将其颁发给我的基础域?

4 个答案:

答案 0 :(得分:4)

您可以简单地强制续订:

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

答案 1 :(得分:1)

您可以撤销当前的证书,然后先使用-d example.com重新发布,然后再显示子域名。

撤销do:

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

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

注意:注意使用限制,或者您最终可能不会发布更多证书。

答案 2 :(得分:0)

首先,让我们清楚你的问题:

  

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

您可以获得多个域的单个证书(多个-d参数),只有一个列为CN(COMMON NAME),其他只是SAN(Subject Alt Name)。目前LE的限制是一个证书中的100个域名。我不确定官方LE客户端,但在我的情况下使用simp_le指定的最后一个域用作CN而其他域用作SAN。看起来你想让你的主域名成为CN?然后尝试将其作为最后一个参数。

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

  

如何立即更改证书,或重新签发证书以便将其颁发给我的基础域?

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

小心点,不要点击LE CA's rate limits(每个域名每周20个证书)......

答案 3 :(得分: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