Let’s Encrypt 是一家免费、开放、自动化的证书颁发机构 (CA),每次签发的证书有90天使用期,官方推荐使用 ACME 协议来验证您对给定域名的控制权并向您颁发证书。此外,Let’s Encrypt 实现了证书颁发和更新的全自动化。
Let’s Encrypt免费SSL/TSL证书签发流程
yum install certbot -y
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/
以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
证书快到期时更新证书命令:
certbot renew
更新的是快要到期的证书(30天内), 也就是说如果离到期时间还远就不会更新,所以刚生成的证书无论运行多少次命令都不会更新,另外,更新证书时你的Apache或NGINX必须是运行中的,不然无法更新。
新建一个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
如果模拟续签成功完成,说明自动续签设置正确。
Proudly Powered By WordPress | IEWB.NET 2009-2024 版权所有