我使用了Let的加密功能,允许我在服务器上设置SSL / HTTPS。
问题在于我也运行了许多子域,我在初始安装中包含这些子域,但现在回过头来看 - 证书详细信息显示它已发布到我的一个子域。
我想将此更改为我的基本域,但我不知道该怎么做。
我尝试过letsencrypt-auto --apache -d example.me -d www.example.me -d mysql.example.me
这已经过了整个过程但没有改变任何东西,因为证书已经发布了。
如何立即更改证书,或重新签发证书以便将其颁发给我的基础域?
答案 0 :(得分:4)
您可以简单地强制续订:
./certbot --apache -d example.me -d www.example.me -d mysql.example.me --force-renewal
答案 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