告别手动运维!Certimate 开源工具实现 SSL 证书全生命周期自动化
告别手动运维!Certimate 开源工具实现 SSL 证书全生命周期自动化
一、为什么需要自动化证书管理?
作为个人开发者或中小企业运维,管理多域名 SSL 证书往往陷入「申请-部署-遗忘续期」的循环。Let's Encrypt 等免费证书 90 天有效期的设定,让每季度的重复性操作成为噩梦——某运维朋友曾因证书过期导致电商网站中断 2 小时,损失超五位数。Certimate 的诞生,正是为终结这种「用时间换安全」的低效模式。
这个 4.3K Star 的开源工具,通过 本地私有化部署 解决数据安全隐患,支持 20+ 域名托管商(阿里云/腾讯云/Cloudflare)、60+ 部署目标(K8s/CDN/SSH 服务器),从证书申请到续期全程自动化,真正实现「一次配置,永久省心」。
二、3 种部署方式,5 分钟启动服务
方案 1:二进制文件快速部署(推荐新手)
- 下载解压:从 GitHub Releases 下载对应系统的二进制包(支持 Linux/macOS/Windows)
wget https://github.com/usual2970/certimate/releases/download/v0.3.4/certimate_0.3.4_linux_amd64.zip unzip certimate_0.3.4_linux_amd64.zip
- 启动服务:直接执行可执行文件
./certimate serve # Windows 运行 .\certimate.exe serve
- 访问界面:浏览器打开
http://127.0.0.1:8090
,使用默认账号登录账号:admin@certimate.fun | 密码:1234567890(首次登录建议修改密码)
方案 2:Docker 容器化部署(推荐生产环境)
- 创建配置目录:
mkdir -p /opt/certimate && cd /opt/certimate
- 编写 docker-compose.yml(数据持久化关键):
version: "3.8" services: certimate: image: registry.cn-shanghai.aliyuncs.com/usual2970/certimate:latest ports: - "8090:8090" volumes: - ./data:/app/pb_data # 证书数据永久存储 restart: always
- 启动容器:
docker-compose up -d
方案 3:源码编译(适合开发者定制)
git clone https://github.com/usual2970/certimate.git
cd certimate && go mod tidy
go run main.go serve
三、实战演示:从域名配置到自动化部署
步骤 1:添加域名与 DNS 验证
- 登录后点击「域名管理」→「新增域名」,输入主域名(如
example.com
)及泛域名(可选*.example.com
)。 - 选择 DNS 服务商(以腾讯云为例):
- 前往腾讯云控制台获取「SecretId/SecretKey」
- 在 Certimate 填写授权信息,测试连通性(确保 API 权限正确)。
- 注意:CDN 场景避免直接使用泛域名,可能导致解析失败。
步骤 2:配置部署目标(以 SSH 服务器为例)
- 点击「部署配置」→「新增授权」,选择「SSH 部署」:
- 填写服务器 IP、端口、用户名及私钥(支持密码或密钥登录)
- 指定证书存放路径(如
/etc/nginx/ssl/
)
- 关联域名与部署目标,勾选「自动续期前 15 天提醒」(支持邮件/钉钉/飞书通知)。
步骤 3:一键部署与验证
- 返回域名列表,点击「立即部署」,系统自动完成:
- DNS TXT 记录添加(ACME 验证)
- 证书申请(支持 RSA/ECC 算法)
- 远程服务器证书替换(自动备份旧文件)
- 验证:通过
https://example.com
访问网站,检查证书有效期(显示 90 天,续期将自动触发)。
进阶技巧:宝塔面板适配(谨慎操作)
若需集成宝塔面板,需手动修改 Nginx 配置:
# 原宝塔证书路径(不推荐)
# ssl_certificate /www/server/panel/vhost/cert/example.com/fullchain.pem;
# 修改为统一路径
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
注意:此操作会绕过宝塔自动管理,建议仅在自定义场景使用。
四、为什么选择 Certimate?
- 数据主权:所有证书、密钥存储本地,无第三方泄露风险(对比某云托管工具强制上传证书)。
- 多云兼容:支持阿里云 SLB、腾讯云 CDN、华为云 WAF 等 60+ 目标,覆盖主流基础设施。
- 故障容错:部署失败时自动回滚,邮件通知详细日志,定位问题更高效。
- 轻量化设计:二进制文件仅 20MB,Docker 镜像基于 Alpine,资源占用极低。
五、总结与建议
Certimate 用「自动化」和「私有化」重构了证书管理流程,尤其适合以下场景:
- 管理 5 个以上域名的个人开发者
- 缺乏专职运维的中小企业
- 对数据安全敏感的政企项目
下一步行动:
- 立即尝试 Docker 部署,5 分钟体验自动化
- 加入 官方 Discord,获取最新功能预告
- 定期备份
pb_data
目录,防止数据丢失
运维的本质是减少重复劳动。当 Certimate 替你完成每 90 天的证书续期,省下的不仅是时间,更是对系统稳定性的掌控感。点击 GitHub 仓库,让证书管理从此「无感」。
License:
CC BY 4.0