使用 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,实现续期后同步更新腾讯云服务。
文章总结:
本文提供了一套完整的泛域名证书自动化管理方案,从申请、安装到云服务同步,适合管理多子域且使用腾讯云服务的用户,能有效降低证书手动维护成本。
鲁飞
鲁飞
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
鲁飞的其他文章
使用 COSCLI 快速迁移本地数据到 COS
在 GitHub 或者 Gitee 等其他地方“白嫖“存储难免会遇到无法访问的时候,例如前段时间 jsDelivr 就因为被 DNS 污染导致无法访问、Gitee 公开仓库私有...
怎么使用默认的 PHP 执行 phar 包?
最近在开发一个安装程序的时候,打包为了 phar 包,遇到了一个问题就是打包后的 phar 包不能省略 php 去运行。
Think-Swoole如何设置Swoole提供的配置项
think-swoole 的文档极少,官方文档中也只是说了如何启动、热更新、连接池等配置
怎么复用 GitHub Actions 的 Workflows
使工作流程可重复使用,而不是从一个工作流程复制并粘贴到另一个工作流程。 自己和有权访问可重用工作流程的任何人都可以从另一个工作流程调用可重用工作流程。
PIE:PHP 扩展管理的未来,替代 PECL 的新选择
PIE 是一个为 PHP 提供扩展安装和管理的新工具,旨在替代传统的 PECL
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线