自动续期
Let's Encrypt申请的证书会有三个月的有效期,可以到期前手动续约,也可以自己写定时脚本任务自动续约。嫌手动麻烦,就写了个简单的续期脚本。
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 &
@import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
posted on 2017-09-07 22:23
聂文龙 阅读(252)
评论(0) 编辑 收藏 引用