如何强制续订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