事件描述:三个月前给博客去处理沃通免费签证,并开始转移到了Certbot的免费证书,一直遗漏的一篇文章,一直以为网上有,就不需要在整理,而现在过期了,一点头绪都没有,只好重新整理一次,以免下次出现类似的问题
Certbot
Let's Encrypt 是 ISRG (Internet Security Research Group) 提供的一个免费、开放、自动化的证书签发服务;从签约开始免费使用三个月,可以重复覆盖签约的免费证书;
Certbot在nginx下的使用方法:
1.下载 Certbot
首先将Certbot的安装包下载在服务器上,我的存放位置(/root);注:这里需要到官网先去注册一下,才能进行后续的操作
wget https://dl.eff.org/certbot-auto -O /sbin/certbot-auto chmod a+x /sbin/certbot-auto
2.使用Certbot签证
单域名生成证书:(个人偏好,因人而异)
./certbot-auto certonly --email chen@xiaochao.me --agree-tos --no-eff-email --webroot -w /data/wwwroot/www.xiaochao.me -d www.xiaochao.me
多域名单目录生成单证书:(即一个网站多个域名使用同一个证书)
./certbot-auto certonly --email chen@xiaochao.me --agree-tos --no-eff-email --webroot -w /data/wwwroot/www.xiaochao.me -d www.vpser.net -d tp.xiaochao.me
多域名多目录生成一个证书:(即一次生成多个域名的一个证书)
./certbot-auto certonly --email chen@xiaochao.me --agree-tos --no-eff-email --webroot -w /data/wwwroot/www.xiaochao.me -d www.xiaochao.me -d bbs.xiaochao.me -w /data/wwwroot/tp.xiaochao.me -d tp.xiaochao.me -d tp.xiaochao.me
配置好了,证书生成路径会在
/etc/letsencrypt/live/www.xiaochao.me/fullchain.pem
3.配置nginx的域名下的conf文件
将ssl存放路径添加上去conf文件上
4.使用定时器对Certbot签证进行实时更新
官网上写着不要太频繁,原来是想设置为每秒开始的,但看几篇文章,都是建议每周一次而且使用的是 --renew-hook 检测域名是否到期,如果到期则更新,如果没有到期,就不进行更新的操作,三个月前的今天也是这么设置的,但是现在证书已经过期了,但是并没有帮我更新,当时考虑到, 是不是定时器没有执行造成的,但是直接输入命令还是然并卵,所以我在这里只能使用了--force-renew 进行强制更新,每周一更新一次可能和别人的不太一样,还是因人而异吧 ,
crontab -e 30 3 * * 1 /root/certbot-auto renew --force-renew 50 3 * * 1 /etc/init.d/nginx reload