Let's Encrypt免费SSL证书安装与自动更新配置

  Let’s Encrypt 是一家免费、开放、自动化的证书颁发机构 (CA),每次签发的证书有90天使用期,官方推荐使用 ACME 协议来验证您对给定域名的控制权并向您颁发证书。此外,Let’s Encrypt 实现了证书颁发和更新的全自动化。

  Let’s Encrypt免费SSL/TSL证书签发流程


1、安装 客户端 certbot

yum install certbot -y


2、签发证书

certbot certonly --webroot --agree-tos -v -t --email youremail@gmail.com -w /Data/iewb.net/public_html/ -d iewb.net -d www.iewb.net

  生成的证书所在目录

  /etc/letsencrypt/live/iewb.net/


3、Apacha使用Let’s Encrypt生成的证书

  以Apache为例,使用Let’s Encrypt生成的证书配置网站

ServerAdmin web@iewb.net
ServerName iewb.net
ServerAlias www.iewb.net
SSLEngine on
SSLCertificateFile      /etc/letsencrypt/live/iewb.net/fullchain.pem
SSLCertificateKeyFile   /etc/letsencrypt/live/iewb.net/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/iewb.net/chain.pem
DocumentRoot /Data/iewb.net/public_html/
ErrorLog /Data/iewb.net/logs/error.log
CustomLog /Data/iewb.net/logs/access.log combined


4、更新证书

  证书快到期时更新证书命令:

certbot renew

  更新的是快要到期的证书(30天内), 也就是说如果离到期时间还远就不会更新,所以刚生成的证书无论运行多少次命令都不会更新,另外,更新证书时你的Apache或NGINX必须是运行中的,不然无法更新。


5、自动更新证书

  新建一个cron 作业添加到现有 crontab 文件中

30 2 */10 * * /usr/bin/certbot renew >> /root/log/certbot-renew.log


  示例设置成每10天更新一次证书,当然你也可以设置成每天更新一次。不推荐设置成每个月更新一次,因为有的月有可能31天,当执行自动任务时到期时间有可能是30天或31天,非30天内到期证书是不会更新的。


  另外,可以使用Certbot的renew命令的--dry-run选项来模拟续签过程,而不实际更新证书。

   certbot renew --dry-run

  如果模拟续签成功完成,说明自动续签设置正确。


AD: 腾讯云 1核2G云服务器首年38元
推广推荐

Proudly Powered By WordPress | IEWB.NET 2009-2024 版权所有