今天要介绍的是Let's Encrypt自动更新
wget https://github.com/certbot/certbot/archive/master.zip #下载文件
unzip master.zip #解压文件
cd certbot-master/ #切换目录
./certbot-auto --help #帮助命令
./certbot-auto certonly --webroot --agree-tos -v -t --email vate96@qq.com -w /var/www -d www.vate.ren#申请ssl证书
如果报错,再执行一遍然后生成的证书在/etc/letsencrypt/live/下编辑
添加nginx配置文件
listen 443;
server_name www.vate.ren;
ssl on;
root /var/www;
index index.html index.php;
ssl_certificate "/etc/letsencrypt/live/www.vate.ren/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/www.vate.ren/privkey.pem";
#你的其他配置文件
}
service nginx reload #重启nginx
即可完成SSL的配置,有效期3个月,快到期会自动往上面的邮箱发邮件,后台renew续期即可
/root/certbot-master/certbot-auto renew
完成续期加入定时任务,设置了每周一凌晨4点30自动更新证书,并自动重启nginx服务,证书在到期前30天内才能更新,多余的更新会自动忽略掉的,每周更新还有一个好处是更新可能会失败,这样最多还有4次的尝试机会来保证不会过期.
创建脚本 renew-cert.sh
#!/bin/bash
/root/certbot-master/certbot-auto renew
/sbin/service nginx reload
保存脚本,并给予可执行权限
chmod a+x renew-cert.sh
写入定时任务
crontab -e
30 4 * * 1 /root/renew-cert.sh >> /root/renew-cert.log 2>&1
保存并重启crontd
service crond restart
完成自动更新证书
网友评论