售前咨询
技术支持
渠道合作

Let’s Encrypt 免费SSL证书自动续期的方法

历经两年多的发展,随着https的普及,让Let’s Encrypt 成为全球最受欢迎的免费SSL证书签发机构。

Let’s Encrypt是由ISRG(互联网安全研究小组)联手组成证书颁发机构。ISRG是一个关注网络安全的公益组织,其赞助商从非商业组织到财富100强公司都有,包括Mozilla,Akamai,思科,Facebook,密歇根大学等等。

当初ISRG成立Let’s Encrypt的初衷是为了让更多的中小企业和个人平台快速便捷的从http升级到https,所以Let’s Encrypt推出了免费的SSL证书。为了确保证书的安全性和时效性,Let’s Encrypt设定了免费SSL证书的有效期限为三个月。这意味着三个月期限满之后,必须向Let’s Encrypt申请续期。如果没有申请续期,则该网站证书过期,网站的HTTPS传输协议不受浏览器的信任。

过去,Let’s Encrypt仅支持手动续期,从而导致有些站长因为忘记了续期导致网站产生不被信任的情况。为了避免这些情况再次出现,Let’s Encrypt多次升级关于免费SSL证书续期系统。现在Let’s Encrypt免费SSL证书到期前可手动续约,也可以自己写定时脚本任务自动续约。

写定时脚本任务自动续约

1、脚本

#/bin/sh

#续期   说明:只用renew的话,会先检查证书是否需要更新,大概是距离到期还有三天或者十几天之内才会执行更新,否则会提示不需要更新。(昨天更新了证书,今天直接用renew,提示不允许更新)

#这里方便测试,增加参数–force-renew,能够强制立即更新(但好像也会有检查,时间会变短,比如我刚才更新过了,马上再次执行会报错并提示不需要更新)。

./certbot-auto renew –force-renew

#生成p12

cd /mnt/web/letsTemp &&  openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out fullchain_and_key.p12 -name tomcat -passin passyourPKCS12pass  -passout pass:yourPKCS12pass

#移动新生成的证书文件

cp /etc/letsencrypt/live/yourDomain/fullchain.pem /mnt/web/letsTemp

cp /etc/letsencrypt/live/yourDomain/privkey.pem /mnt/web/letsTemp

#生成jks文件

#备份并删除原jks文件

mv /mnt/web/letsTemp/MyDSKeyStore.jks /mnt/web/letsTemp/MyDSKeyStore`date ‘+%Y-%m-%d’`.jks

cd /mnt/web/letsTemp && keytool -importkeystore -deststorepass yourKeyPass  -destkeypass yourKeyPass  -destkeystore MyDSKeyStore.jks -srckeystore fullchain_and_key.p12 -srcstoretype PKCS12 -srcstorepass yourPKCS12pass  -alias tomcat

#重启服务器

/mnt/web/tomcat/tomcat8/bin/restartup.sh

2、定时任务

脚本有了,还需要在linux中添加一个定期执行脚本的任务,这里用linux自带的cron来处理这部分。

crontab -e

在打开的编辑器中添加如下内容(每个月1号凌晨3点更新)

0    0  3 *  *  sh /mnt/web/lets/ssl_auto_auth.sh >/dev/null 2>&1 &

使用crontab自动续期

在安装了lets encrypt证书之后,默认是90天到期,我们可以手动提前续期。不过为了防止忘记,我们可以采取让lets encrypt自动续期的方法。这里需要用到crontab定时执行命令。

一般来说CentOS系统里面都自动内置了crontab程序,如果没有,那么centos安装crontab命令如下:

yum install vixie-cron crontabs //安装Crontab

chkconfig crond on //设为开机自启动

service crond start //启动

说明:vixie-cron软件包是cron的主程序;crontabs软件包是用来安装、卸装、 或列举用来驱动 cron 守护进程的表格的程序。

Crontab使用方法

1、查看crontab定时执行任务列表

crontab -l

2、添加crontab定时执行任务

crontab -e

自动续签证书

Let’s Encrypt 证书只有 90 天的有效期,一旦我们忘记了就会失效了。所以建议使用crontab进行自动续期,让证书一直有效。

在Xhell中输入crontab -e添加命令,输入a进入编辑状态,然后用方向键选到新的一行,加上规则:

0 3 1 * * /root/certbot-auto renew –renew-hook “/etc/init.d/nginx reload”

按“ESC”退出编辑状态,输入:wq保存并退出。

用crontab -l命令查看一下是否存在刚才添加的定时命令。如果存在的话,那么每月1日的凌晨3点就会执行一次所有域名的续期操作。不过有请求次数的限制所以别太频繁了。

上一篇:

下一篇:

相关新闻

 

领取优惠
免费预约

申请试用SSL证书

提交成功!

咨询客服