Letsencrypt添加域到现有的证书
我只是试图将域test.example.com添加到已经存在的example.com的证书。 如何将域添加到现有证书并replace旧证书?
我已经尝试了这几个命令
./letsencrypt-auto certonly --cert-path /etc/letsencrypt/archive/example.com --expand -d test.example.com ./letsencrypt-auto certonly -d example.com --expand -d test.example.com
结果:都在一个新文件夹test.example.com-0001中创build了一个全新的证书
./letsencrypt-auto certonly --renew-by-default --expand -d test.example.com
结果:错误文件夹test.example.com已经存在。
./letsencrypt-auto renew --expand -d orange.fidka.com
结果:错误,如果证书过期,我只能续订。
您需要指定所有名称,包括已经注册的名称。
我最初使用以下命令来注册一些证书:
/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \ --email me@example.com \ --expand -d example.com,www.example.com
…刚刚我成功地使用了以下命令来扩展我的注册,以包括一个新的子域作为SAN:
/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \ --expand -d example.com,www.example.com,click.example.com
从文档 :
–expand“如果现有的证书覆盖所请求的名称的一部分,请始终扩展并用其他名称replace它。
如果您正在运行nginx,请不要忘记重新启动服务器以加载新证书。
这是我注册我的域名:
sudo letsencrypt --apache -d mydomain.com
然后可以使用与其他域相同的命令并按照说明进行操作:
sudo letsencrypt --apache -d mydomain.com,x.mydomain.com,y.mydomain.com
Ubuntu上的Apache,使用Apache插件:
sudo certbot certonly --cert-name example.com -d old-domain.com,www.old-domain.com,new-domain.com,www.new-domain.com
以上命令在Certbot用户指南中更改证书的域名时得到了生动的解释。 请注意,更改证书域名的命令也适用于添加新的域名。
这对我工作
sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d domain.com -d www.domain.com
您可以通过仅使用./certbot-auto certonly再次运行certbot来replace证书
如果您尝试为已经由现有证书覆盖的域生成证书,系统会提示您input此消息:
------------------------------------------------------------------------------- You have an existing certificate that contains a portion of the domains you requested (ref: /etc/letsencrypt/renewal/<domain>.conf) It contains these names: <domain> You requested these names for the new certificate: <domain>, <the domain you want to add to the cert>. Do you want to expand and replace this existing certificate with the new certificate? -------------------------------------------------------------------------------
只需selectExpand
并replace它。
我能够通过使用--cert-name
和--expand
选项来为一个域和多个子域设置SSLauthentication。
请参阅https://certbot.eff.org/docs/using.html上的官方certbot-auto文档;
例:
certbot-auto certonly --cert-name mydomain.com.br --renew-by-default -a webroot -n --expand --webroot-path=/usr/share/nginx/html \ -d mydomain.com.br \ -d www.mydomain.com.br \ -d aaa1.com.br \ -d aaa2.com.br \ -d aaa3.com.br