Certbot对免费Let’s Encrypt证书的自动续期,So Easy!

2018-04-03发布在 WordPress建站11346 次访问

首先,检查你的 Let’s Encrypt 证书是否管理程序是 Certbot(你是否安装了 Certbot)。

执行命令:find / -name “certbot”

如果找到类似于 /bin/certbot  的结果,那么说明已安装了 Certbot(LNMP 1.4 的 SSL安装集成进去了,默认是装了的。LNMP1.3 则以前是老的 lets encrpyt 程序);

如果没有找到,先下载 Certbot 安装 Let’s Encrypt 证书。安装 Certbot 并给网站安装 SSL 证书,参考这篇教程:

WordPress建站:Linode VPS上部署SSL启用HTTPS全攻略

这阵子,外贸圈子里最热的就两个事情:1)从2017年1月1日起,国家税务总局开始清查境外账户 2)从2017年1月1日起,谷歌 Chrome 浏览器将会把采 ..

注意如果你以前用过老的 Let's Encrypt 证书程序,那么要先彻底删除以前老的程序,才能安装 Certbot,不然会出错。逐个执行下面3行命令,把 DOMAIN 换成你的域名,如 www.xyz.com(具体是什么可以去/etc/letsencrypt/live 目录下看一下)

rm -rf /etc/letsencrypt/live/${DOMAIN}
rm -rf /etc/letsencrypt/renewal/${DOMAIN}.conf
rm -rf /etc/letsencrypt/archive/${DOMAIN}

即可重新安装 Certbot。

OK,如果你已经安装好了 Certbot,给网站安装好了 SSL 证书,那么进入本篇文章的主题。

一、检查 Cron 服务状态

service crond status

如果执行后提示:crond (pid  xxxxx) is running…  代表正常运行中,则可以跳过下面第二、三两步 。

如果提示错误,不识别的服务,则先按照 2)和 3)执行安装和启动。


二、安装 cron 服务

依次输入以下 2 条命令并回车执行

yum -y install vixie-cron

yum -y install crontabs

成功安装 Cron 之后,启动 cron 服务。


三、启动 Cron 服务

service crond start

执行后会出现:Starting crond:         [  OK  ]  的提示,表明启动成功。

继续执行开机启动服务命令,把 Cron 加入开机启动的服务列表中:

chkconfig --level 345 crond on

安装完检查一下 Cron 服务状态

service crond status

如果提示:crond (pid  xxxxx) is running…  代表正常运行中。


四、搜索 cron 文件所在位置

输入命令:

find / -name "cron"

找到如下结果:

/var/log/cron 这个是日志文件位置,不管它
/var/spool/cron 这里是所有的自动执行任务的 cron 文件存放位置

用 Xftp 打开 /var/spool/cron,看看 cron 目录下有没有文件。

  • 如果没有,创建 cron 文件,按照步骤五。
  • 如果有,跳过步骤五。

五、创建 Cron 文件

输入以下命令:

crontab -e

输入此命令后,提示如下:

no crontab for root – using an empty one

此时相当于准备创建一个 root 用户的空白 crontab 文件,同时已经进入 vi 编辑状态。

如果在左下角看到一个 — INSERT — 的状态提示,那么先按一下 ESC 键,此时 INSERT 状态取消。再按 shift+分号(打出冒号来),然后输入 q,回车。退出编辑文件状态。

此时会提示创建了一个 new crontab (只不过是个空的文件)。接着我们用 Xftp 把 /var/spool/cron 这个路径下生成的名为 root 的文件下载下来,用 Notepad++ 编辑。


六、添加编辑 Certbot 的自动续期命令

在 root cron 文件中,复制以下代码,粘贴,保存,上传。

0 3 */7 * * /bin/certbot renew --renew-hook "/etc/init.d/nginx reload"

以上含义是:每隔 7 天,夜里 3 点整自动执行检查续期命令一次。续期完成后,重启 nginx 服务。


七、重启 Cron 服务,使之生效

service crond restart

重启之后,一切搞定!


八、你想手动尝试 Certbot 证书更新?

一般是直接使用 renew 命令,即:

/bin/certbot renew

但是现在 Certbot 也会自己判断了,没有快到期之前,它也觉得没必要频繁续期。所以看看我们手动去续期的结果:

由于我们之前网站是 2月14日安装的 Let’s Encrypt 证书,到5月14日才到期。现在去 renew 太早了,Certbot 直接把我们给否了。


九、Certbot 到底在证书到期前多久会去续期呢?

可以查看证书的 Renewal 配置文件

在 /etc/letsencrypt/renewal 目录下,有你的网站的 renewal 的配置文件:www.xyz.com.conf

下载到本地,notepad++ 打开,可以看到具体配置信息如下:

从这个文件中我们可以看到,第一行虽然用 # 注释掉不生效了,但是我们可以知道 Certbot 会在证书到期前30天开始重新续期。


十、耐心等待验证

到4月15日以后再看一下证书有没有自动续期即可。

OVER!


喜欢这篇文章的朋友们,不要吝惜你们的赞哦!

分享到微信朋友圈

LiaoSam
LiaoSam
外贸综合症患者

抢沙发

发表我的评论

取消评论

邮箱白名单说明:最近料网自动提醒邮件经常会被一些邮件服务商拦截。为了您顺利并及时地收取留言被回复的提醒邮件,请在您邮箱中把料网 liaosam.com 加入白名单域名。

已读说明
设为私密评论
添加表情

Hi,您需要填写昵称和邮箱!

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)