HTTPS 证书配置一劳永逸
HTTPS 证书相关的体系组织是一个商业团体,商人出于利益的需要,把 HTTPS 证书分为各类等级,笼统的说分收费证书和免费证书,但是无论如何技术本质是一样的,所谓收费证书就是在证书发放流程中域名校验环节严格了一些,不过最终目的还是一样,确保你是申请域名证书的拥有者,另外有一点就是需要确认审核发放的证书的下级组织是否有一定公信度,一般来说选择大家熟知的即可,而在不久前 Let’s Encrypt 这个组织宣布支持免费申请泛域名证书了,同时 Let’s Encrypt 也是顶级 CA 权威机构,所以以后 HTTPS 证书的费用就再也不需要了,我们只需要申请免费的证书即可,需要注意的是收费证书一般有效期时间比较长(3-5年),有效期时间越长越不安全,而 Let’s Encrypt 提供的证书只有3个月有效期,也就是说你需要定期更新证书,有效期越短越安全,出于以上背景我们整合资源,给出全自动更新方案,一劳永逸让你的站点证书永不过期
原理
获取证书(调用 Let’s Encrypt 提供的 API 自动实现对域名所有者的校验)
更新 Web 服务器 HTTPS 证书
更新 CDN 上相关域名证书配置(调用云服务商提供的 API 完成更新)
[可选]
执行 CRONTAB 任务(每月自动执行一次上面三步骤)
实现一(小矩阵用户)
在小矩阵平台里的 Master 机器 /srv/salt/ssl/ 目录,我们默认有2个域名目录例子
example1.com 适用于 Qcloud DNS(dnspod.cn) 上的域名配置
example2.com 适用于 Aliyun DNS(net.cn) 上的域名配置
比如我们需要申请 xabcloud.com 在 dnspod.cn 上该域名的泛域名证书,流程如下步骤:(在 Master 机器操作)
1.复制一份例子
cd /srv/salt/ssl;cp -a example1.com xabcloud.com
2.编辑 /srv/salt/ssl/xabcloud.com/acme.sh 更新前面2行的 token 信息(从 dnspod.cn 站点用户中心那里获得,见下图;阿里云的 token 信息就是用户AccessKey信息,AccessKey ID 和 Access Key Secret)