免费SSL证书自动续费
像 腾讯云、阿里云 可以申请免费的 SSL 证书,但有效时长从原来的1年,改为现在的3个月
导致感觉没过多久 就会被邮件通知各种续期,然后需要自己手动去续期,就很麻烦
好在后面发现有 API,可以通过 API 去申请,指路:腾讯云API文档、阿里云API文档
腾讯云 可部署运行的代码 Github仓库
腾讯云的流程
如果是新注册的,则不需要看前两步
- 获取证书列表
- 过滤出 “已签发” 且 “三天内过期的” 证书
- 申请新的免费证书
- 轮询证书状态:
- 待验证:
- 新增一条DNS记录
- 主动触发证书验证
- 已通过:
- 删除DNS记录
- 待验证:
- 获取新证书下载链接
- 下载新证书
- 解压缩(zip)
- 放置证书
- Reload 服务器(如nginx)
阿里云的流程
阿里云与腾讯云的不太相同,主要是因为腾讯云将 证书的内容 以文件的形式下载的
而阿里云则是将证书的内容,直接以字符串的形式,塞在字段里返回的,需要自己保存写入
- CreateCertificateForPackageRequest - 请求创建证书
- OrderId:本次证书申请订单的 ID
- DescribeCertificateState(OrderId) - 查询DV证书的申请状态
- Type:证书申请订单的状态
- Certificate: 证书内容(PEM 格式)
- PrivateKey: 证书私钥内容(PEM 格式)
- RecordValue:使用 DNS 验证方式进行域名验证时,您需要添加的解析记录的记录值。
- AddDomainRecord - 添加解析记录
- ListUserCertificateOrder - 查询用户证书或者订单列表
- CertificateId:证书 ID
- GetUserCertificateDetail(CertId: CertificateId) - 获取证书详情
- DeleteDomainRecord - 删除解析记录
这个我就没 push 了,毕竟阿里云个人的用的比较少,有需要可以自己实现一下,然后丢服务器里定时检查运行就好…
说在最后
上面腾讯云有可运行的代码,阿里云敲了一点但也没推
可以放服务器运行一下,然后记得放了新证书之后,要重新 Reload 一下服务器
这文档看下来感觉腾讯云的要友好不少呀,阿里云的文档翻来翻去的感觉,虽然都有在线,甚至还有阿里云还有SDK,但就是不知道为何用的不怎么流畅和顺手…
完