欢迎光临
我们一直在努力

SSL证书自动更新并应用到IKEv2, Nginx

SSL证书免费申请和自动续期

来自:https://quericy.me/blog/860/

申请SSL证书,首先需要避免用被Mozilla 拉黑的沃通(WoSign)及被沃通收购的StartCom. 沃通的一系列乱像和作死的缘由网上搜一下就清楚了.

这里还是推荐由美国加州公益组织ISRG 的 Let’s Encrypt . 优点在于可靠,可自动化,免费,口碑好. 缺点(其实算不上缺点)为有效期只有90天,但是完全可以自动化的进行续期来避免这个问题.

自动申请Let’s Encrypt证书的工具,用的最顺手的自动化工具还是acme.sh.
证书颁发可以看该项目的Github Wiki中文文档 ,写得很详细了.

主要需要注意区分的是:

  • 颁发用--issue,仅在首次申请的时候使用(以及配合 --dns 并做好dns参数解析)
  • 续期用--renew ,可执行任意次数(如果离过期时间比较远,可使用 --force 强制执行更新)

至于自动续期,以域名yourdomain.com为例:

  • yourdomain.com 设置每30天自动续期:
  • yourdomain.com 的ECC证书设置每30天自动续期

定时将证书替换到IKEv2

IKEv2使用SSL证书的好处是可以不用导入到客户端,但是也需要注意证书过期对服务的影响.所以在上面一节设置好对Let’s Encrypt证书的自动续期以后,也别忘了将它应用到IPsec服务中来:

  • 写个bash脚本ipsec.sh,用于替换证书并重启服务,注意替换cert_filekey_file为自己的证书和私钥路径:
  • 编写定时任务: crontab -e ,并注意替换脚本文件的路径:
  • 这样,每个月1日的凌晨2点59分就会替换证书并重启IPsec服务.也可以根据自己的需求自行调整参数.

定时将证书替换到Nginx

acme.sh自动申请到的证书不仅可以给IPsec服务使用,也可以给Nginx使用.
既能免于IKEv2自签名CA导入问题的烦恼,又能给自己的站点上HTTPS,一举多得.

虽然acme的脚本带了一些十分方便的参数指定(如keypath, fullchainpath, reloadcmd, 自动部署到apache等)
但也无法满足一些复杂的需求,如同时应用普通证书和ECC证书,同时发布到IPsec等.
因而也可以自己写定时脚本(或者写在上一节的脚本里),步骤和原理同上,也就不多赘述:

  • bash file nginx.sh:
  • add crontab:

赞(0)
未经允许不得转载:老徐小屋老徐小屋 » SSL证书自动更新并应用到IKEv2, Nginx
分享到: 更多 (0)