我已经安装了 SSL 证书让我们加密和证书机器人在我的 Apache 服务器上使用 Debian 8,遵循 Let's Encrypt 自己的文档中的教程:https://certbot.eff.org/#debianjessie-apache
$ certbot --apache
您需要指定要为其安装证书的域,但我只添加了example.com
域。现在我想添加www.example.com
,但找不到如何执行此操作。
答案1
现有的答案是正确的,但并不是每个人都清楚(我不清楚)发生了什么,尤其是在阅读了官方 certbot 文档就此主题而言。
首先,您需要列出现有的证书,只是为了清楚您已经拥有的证书:
sudo certbot certificates
您会注意到每个证书都有一个“名称”。假设您有一个名为 的证书example.com
,并且它还有一个域证书example.com
。您可以使用该certonly
选项仅更新证书,然后使用--cert-name
选项指定您正在更新哪个证书。不要忘记包括您的现存的域以及新的您正在添加的域。
sudo certbot certonly --cert-name example.com -d example.com,www.example.com
如果您相信 certbot 能够找出正确的证书(类似于 Google 过去用于搜索的“我感觉很幸运”按钮),那么您似乎可以跳过--cert-name
并使用它--expand
。这样,certbot 将通过选择具有您指定的域的子集(真子集 - 文档中称为“严格子集”)的证书来找到您所引用的证书。
sudo certbot certonly --expand -d example.com,www.example.com
在所有这些中,您是否需要--webroot
取决于您的特定配置。
答案2
答案3
使用这个命令:certbot modifier --expand
,就像下面这样:
sudo certbot-auto certonly --webroot -w /srv/www/htmlroot/ --expand -d domain1.com -d domain2.com -d www.domain1.com
答案4
我更喜欢“独立”服务器模式,因为我将 nginx.conf 设置为重定向端口 80。并且 certbot 需要端口 80,因此在运行此模式之前您可能需要“停止”nginx(或 apache)。独立的另一个好处是,您不需要创建目录来获取证书。
certbot certonly --standalone --expand -d example.com -d www.example.com
看来 certbot 足够聪明,可以自动找出您要扩展的证书。
但是,如果您只指定-d www.example.com
它可能会为“www”创建一个单独的证书,这可能不是您想要的。检查与certbot certificates
.如果发生这种情况,您可以通过删除 www 和非 www 证书来重新开始,然后...
certbot certonly --standalone -d example.com -d www.example.com