如何强制续订Lets Encrypt证书
时间:2020-01-09 10:39:15 来源:igfitidea点击:
如何在Ubuntu,Debian,CentOS,RHEL,Fedora或FreeBSD Unix系统上强制续订Letsencrypt证书?
如您所知,Lets Encrypt是一种免费,自动化和开放的证书颁发机构,可以用来为Web服务器,邮件服务器等颁发TLS/SSL证书。
本教程说明如何使用CLI工具在Linux,FreeBSD和类似Unix的系统上强制续订Lets Encrypt证书。
如何强制续订Lets Encrypt证书
在Linux和Unix中,有多种发布和更新Letsencrypt TLS/SSL证书的方法。
但是,在本教程中,我们将使用两个可以使用的最流行的命令行工具:
- 即使证书到期日不近,我们也可以始终强制进行证书更新。
- certbot使用certbot renew --force-renewal命令请求新证书。我们可以使用-d选项指定域。例如,
certbot -d theitroad.local,www.theitroad.local,test.theitroad.local --force-renewal
acme.sh
强制使用acme.sh -f -r -d www.theitroad.local
立即更新证书
使用certbot更新LetsEncrypt证书
Certbot是最受欢迎的工具,可用于:
- 自动向Lets Encrypt CA证明您控制网站
- 获取浏览器信任的证书并在您的Web服务器上进行设置
- 跟踪证书何时到期,并进行续订
- 如有必要,帮助您吊销证书
- 如有需要,请强制更新证书
certbot命令行工具的主要目的是设置HTTPS服务器,并使其自动获得浏览器信任的证书,而无需任何人工干预。
但是,有时由于各种原因,续订过程会失败,因此您需要发出以下手动命令进行强制续订:
certbot --force-renewal certbot --force-renewal -d domain-name-1-here,domain-name-2-here certbot --force-renewal -d www.theitroad.com,theitroad.com
有关更多信息,请参见此处的certbot文档,或使用以下命令:
certbot --help certbot --help all ## filter out renewal option using the grep command/egrep command ## certbot --help all | grep -i force certbot --help all | egrep -i 'renewal|force'
如何使用acme.sh续订特定证书
语法如下:
acme.sh -f -r -d {your-domain-here} acme.sh --force --renew --domain {your-domain-name-here} acme.sh -f -r -d www.theitroad.local acme.sh -f -r -d www.theitroad.local -d server1.theitroad.local
其中:
- --renew或-r:更新证书。
- --domain或-d:指定一个域,用于发布,续订或撤销等。
- --force或-f:用于强制安装或强制立即更新证书。
重新启动/重新加载您的Web服务器和服务
最后,重新启动Nginx服务器或重新启动Apache Web服务器以使更改生效。
换句话说,您需要重新启动Web服务器,以便客户端可以看到更新的证书:
sudo service nginx reload ## or ## sudo service httpd reload ## Systemd GNU/Linux ## sudo systemctl reload nginx.service sudo systemctl reload httpd.service sudo systemctl reload apache2.service