使用 acme.sh 自动申请并更新泛域名证书
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
鲁飞
扫码关注公众号
扫码阅读
手机扫码阅读
文章主旨:
本文介绍如何利用 acme.sh 配合腾讯云 DNS API 自动化申请泛域名 SSL 证书,并通过自写工具 cert-manager 将证书部署到腾讯云相关服务中,实现证书全生命周期管理。
关键要点:
- acme.sh 是基于 ACME 协议的客户端,支持自动申请和续期 SSL 证书,默认使用 ZeroSSL 服务(有效期 90 天,无速率限制)。
- 安装 acme.sh 后需注册 ZeroSSL 账号并获取 EAB 凭证,通过 DNS API 模式(以腾讯云 DNSPod 为例)申请泛域名证书。
- acme.sh 不建议直接使用缓存目录中的证书文件,应通过
--install-cert命令将证书复制到指定路径并设置自动续期后的重载命令。 - 对于使用了腾讯云 CDN 等服务的场景,需额外更新云服务侧的证书配置。作者自写了
cert-manager工具,可调用腾讯云 API 一键更新多种服务(如 CDN、CLB、WAF 等)的证书。 - 通过将
cert-manager命令加入--reloadcmd,可实现证书续期后自动更新本地 Nginx 和腾讯云服务,形成完整自动化流程。
内容结构:
- 背景: SSL/TLS 证书重要性,泛域名证书适合多子域场景;云厂商缩短免费证书有效期至三个月,推动自动化需求。
- acme.sh 简介: 基于 ACME 协议的客户端,用于自动申请和续期 SSL 证书。
- 安装 acme.sh: 执行一条 curl 命令安装到 home 目录,自动添加定时任务更新证书。
- 注册 ZeroSSL 账号: 默认使用 ZeroSSL(需注册并生成 EAB 凭证),执行命令注册凭证。
- 申请泛域名证书: 使用 DNS API 模式,通过腾讯云 DNSPod 的 Token 设置环境变量,执行
acme.sh --issue申请example.com和*.example.com证书。 - 安装证书: 使用
acme.sh --install-cert将证书复制到指定路径,并设置--reloadcmd重启 Nginx。 - 配套工具 cert-manager: 解决 CDN 等云服务证书更新问题,通过 Composer 安装,配置腾讯云 SecretId/SecretKey 和域名映射,运行
tx-cert-manger更新指定资源。 - 整合自动化: 将
tx-cert-manger命令加入--reloadcmd,实现续期后同步更新腾讯云服务。
文章总结:
本文提供了一套完整的泛域名证书自动化管理方案,从申请、安装到云服务同步,适合管理多子域且使用腾讯云服务的用户,能有效降低证书手动维护成本。
鲁飞
鲁飞
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
鲁飞的其他文章
MySQL 字符集与大小写敏感性解析
在 MySQL 数据库中,UTF-8 及其变体是最常用的字符集。
simps/mqtt v1.1.1 版本发布,支持 MQTT5 中的大部分 Property
在 MQTT 5.0 协议中增加了很多属性。不同的报文类型之间,属性也会不同,一共有 27 种属性。
你不知道的PHP小技巧之计算文本相似度
有这样一个需求:需要对于用户发布的内容标题进行相似度对比,如果有之前的内容和当前发布的内容标题相似度到达某个阈值时则禁止发布或进行其他的一些操作。
使用Composer Scripts为依赖进行瘦身
常见的 SDK 都会将所有功能都集成在一个代码库中,本文以腾讯云开发者工具套件(SDK)3.0 为例。
Docsify v5.0.0-rc.3:支持 GitHub 风格的提示框
无论是 GitHub 风格的提示框、跨文档片段提取,还是更稳定的 Slug 规则,都让文档编写更加直观、可靠。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线