云厂商的免费SSL证书有效期多已缩短至3个月,到期依赖人工续期很容易导致服务中断。针对这一痛点,当前主流的自动化思路分为”使用云厂商原生服务"与"借助第三方自动化工具"两类。
一、主流云厂商原生方案对比
对于习惯在单一云平台管理资源的用户,先来看看各家厂商的原生服务:
云厂商 免费证书有效期 原生自动化方案 主要限制 / 注
阿里云 3个月,每年可申请20个单域名证书[reference:0] 1. 自动管理服务:控制台一键开启,自动部署到CDN/负载均衡/服务器[reference:1]<br>2. 自动化部署:支持部署至ECS可信实例[reference:2] | 自动化部署仅限特定规格的ECS可信实例(如第七/八代x86架构)[reference:3]
腾讯云 3个月 (TrustAsia)[reference:4] 证书托管:控制台开启后,系统自动续费并替换关联云资源的新证书[reference:5] | 免费证书的托管功能依赖于在腾讯云平台购买或申请的证书[reference:6]
华为云 未明确免费证书有效期,有3个月方案[reference:7] 原生自动化能力较弱,无明确“一键托管”方案。 主要依赖第三方ACME工具(如Certimate)实现自动化[reference:8]
如果希望灵活地管理多云环境或本地服务器,借助第三方工具会是更通用的选择。
二、核心自动化方案对比
方案 核心机制 适用场景 上手难度 优点 缺点
acme.sh + 自定义脚本 acme.sh 签发证书,配合云厂商 API 上传/部署[reference:9] 技术能力较强的个人开发者或运维,对单一或少量云环境有高度定制需求。 高 极致轻量、灵活可控、无额外依赖。 需自行编写和调试部署脚本,维护成本高。
Certimate 提供 Web UI,通过编排工作流,调用云厂商 API 完成证书申请与部署[reference:10] 追求便捷、可视化操作,希望在统一界面上管理多云/多域名证书的个人、团队或中小企业。 低 界面友好、配置简单、支持 60+ DNS 和 110+ 部署目标[reference:11]。 需额外部署和维护此工具。
CertD 提供 Web UI,支持多种验证方式和部署插件,实现证书全生命周期管理[reference:12] | 需要强大插件生态和私有化部署的企业或资深用户。 中 功能强大,支持超过 60 种部署插件[reference:13],生态完善。 部署相对复杂,对服务器资源有一定要求。
httpsok 在线服务,通过 API 或一键脚本,将证书自动部署到 CDN、OSS 等[reference:14] 不想自己搭建任何服务,希望开箱即用的极简主义者或非技术用户。 极低 | 无需自建服务,提供免费额度[reference:15]。 数据需经过第三方服务,存在潜在的数据安全风险。
> 特别方案:宝塔面板集成了 Let's Encrypt 证书的申请与自动续期功能,配合阿里云 DNS API 可实现 DNS 验证的全自动续期,适合宝塔用户[reference:16]。
三、方案选择与最佳实践
在选择具体方案时,可以参考以下建议:
如何选择方案?
只想省心、不怕付费:优先使用云厂商的原生托管服务(如阿里云、腾讯云),购买付费证书并开启自动续费与托管。
追求免费且爱折腾:acme.sh + 自定义脚本是最灵活、成本最低的方案。
追求免费但求省事:部署一个如 Certimate 这样的开源工具,能极大地提升证书管理效率,一劳永逸。
核心自动化技术原理
证书申请/续期:大多数自动化方案都基于 ACME 协议(RFC 8555)[reference:17]。
核心步骤:
1. 定时触发:通过 Cron 等工具,每天或每周检查证书有效期。
2. 自动申请:证书有效期低于阈值(如30天)时,自动向CA发起续期请求[reference:18]。
3. 域名验证:通过 DNS-01 方式(在域名解析中添加特定TXT记录,支持通配符证书)或 HTTP-01 方式(在网站指定路径放置验证文件)验证域名所有权[reference:19][reference:20]。
4. 证书签发:验证通过后,CA签发新证书。
5. 自动部署:将新证书上传并配置到 Web 服务器、CDN 等目标服务上[reference:21]。
关键实施步骤与注意事项
1. 准备 API 密钥:在云厂商控制台创建具有 DNS 解析和 CDN 管理等权限的子账号 AccessKey,遵循最小权限原则[reference:22]。
2. 配置自动化工具:根据所选方案,配置 DNS API 信息、证书参数和部署目标。
3. 设置定时任务:确保工具能定时运行(如 CertD 设置每天运行,过期前20天触发更新[reference:23])。
4. 测试与监控:手动模拟证书过期来测试整个流程,并配置异常通知渠道(邮件、Webhook等)。
5. 注意:新SSL证书签发需要时间,确保旧证书过期前有足够缓冲。使用云厂商 API 部署免费证书可能没有数量限制[reference:24]。
四、总结
无论你偏爱云厂商的一站式服务,还是青睐开源工具的自由与强大,都有成熟的方案可供选择。从简单的脚本到功能完善的自动化平台,这些工具都能帮助你彻底告别手动续期的繁琐与风险,确保网站服务的连续性与安全性。