在当今 HTTPS 已成网站标配的时代,SSL/TLS 证书的安全性与有效性直接关系到用户体验、搜索引擎排名乃至业务连续性。然而,传统证书管理方式——手动申请、配置、续期——不仅繁琐低效,更因人为疏忽导致“证书过期”事故频发。轻则浏览器弹出安全警告,重则整个网站无法访问,损失难以估量。
有没有一种方案,能让 SSL 证书“设置一次,永久无忧”?答案是肯定的:CertD —— 一款开源、免费、全自动的 SSL 证书生命周期管理平台,正成为越来越多个人站长与企业运维团队的首选工具。
一、为什么我们需要 CertD?
Let's Encrypt 等免费 CA 的出现极大降低了 HTTPS 的门槛,但其 90 天的有效期也带来了高频续期压力。尽管有 certbot 等工具支持自动续签,但在以下场景中仍显不足:
- 多域名/泛域名管理复杂:每个子域或通配符需单独配置;
- 部署目标多样:Nginx、宝塔、阿里云 CDN、腾讯云 CLB、K8s Ingress……每种环境脚本不同;
- 缺乏可视化监控:无法直观查看证书状态、到期时间、历史记录;
- 企业级需求缺失:如权限控制、操作审计、告警通知等。
CertD 正是为解决这些痛点而生。它通过“流水线(Pipeline)”设计理念,将证书申请、验证、签发、部署、监控全流程自动化,并提供图形化界面与丰富插件生态,真正实现 零维护、高可靠、强安全 的证书管理。
二、CertD 的核心能力解析
1. 全自动证书生命周期管理
CertD 支持主流 CA(如 Let's Encrypt、ZeroSSL、Google Trust Services),自动完成:
- 域名所有权验证(HTTP-01 / DNS-01)
- 证书申请与签发
- 到期前自动续签(默认提前 30 天)
- 旧证书归档与新证书无缝切换
2. 多域名与通配符支持
单一流水线可同时申请 example.com、www.example.com、*.example.com 等多个域名,打包为一张证书,极大简化管理。
3. 超 70+ 部署插件,覆盖全栈场景
这是 CertD 最强大的优势之一。无论你的服务部署在哪里,几乎都能找到对应插件:
- 云平台:阿里云 CDN/OSS/ACK/WAF、腾讯云 CDN/CLB/COS、华为云 CDN、七牛云、百度云等;
- 服务器环境:Nginx、Apache、宝塔面板、1Panel、群晖 NAS;
- 容器编排:Kubernetes Ingress、Docker 容器;
- 自定义部署:通过 SSH 执行远程脚本、上传至 FTP、调用 Webhook 等。
例如,只需在流水线中添加“部署到宝塔网站”任务,CertD 便会自动登录宝塔 API,更新指定站点的证书文件并重载 Nginx。
4. 企业级安全与合规
- 私有化部署:所有敏感数据(私钥、API 密钥)仅存于本地,杜绝第三方泄露风险;
- 双因素认证(2FA):管理员登录可启用 TOTP 验证;
- 细粒度权限控制:支持多用户、角色分配;
- 完整操作日志:记录每次证书申请、部署、修改行为,满足审计要求。
5. 智能监控与告警
内置证书状态看板,清晰展示:
- 各证书到期时间(按天倒计时)
- 流水线执行历史(成功/失败详情)
- 最近运行统计
支持通过邮件、钉钉、企业微信等方式发送续签成功/失败通知,确保问题及时发现。
三、快速上手:Docker 一键部署 CertD(以 CentOS 为例)
💡 建议在干净的 Linux 服务器(如腾讯云轻量应用服务器)上操作。
步骤 1:安装 Docker 与 Docker Compose
# 关闭 SELinux(可选)
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 安装 Docker
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker && systemctl enable docker
# 安装 Docker Compose
curl -SL https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
步骤 2:创建并启动 CertD 容器
mkdir -p /data/certd
cd /data/certd
# 下载官方 docker-compose.yaml
wget https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml
# (可选)编辑配置:修改端口、时区、备份路径等
vi docker-compose.yaml
# 启动服务
docker-compose up -d
步骤 3:访问 Web 界面
浏览器打开 http://你的服务器IP:7001
默认账号:admin
默认密码:123456(首次登录后务必修改!)
四、配置你的第一条证书流水线
- 创建流水线:点击“创建证书流水线”,输入域名(如
*.yourblog.com;yourblog.com); - 选择 CA 与验证方式:推荐 ZeroSSL(兼容性好)+ DNS-01(支持泛域名);
- 添加部署任务:例如“宝塔网站证书部署”,填写宝塔 API Token 和站点 ID;
- 设置定时任务:如
0 2 1 * *(每月1日凌晨2点检查续期); - 测试运行:点击“立即执行”,观察日志是否成功。
✅ 成功后,你的博客将自动获得由 Google Trust Services 或 ZeroSSL 签发的证书,并永久无需手动干预!
五、安全最佳实践
- 务必私有化部署:切勿使用不明来源的在线 CertD 服务,私钥可能被窃取;
- **定期备份 *
/data/certd* 目录**:包含数据库、证书、配置,是灾难恢复的关键; - 启用 HTTPS 访问 CertD 自身:可通过反向代理(如 Nginx)为其配置独立证书;
- 限制 API 权限:如宝塔 API Token 应仅授予“网站管理”最小权限;
- 开启 2FA:防止管理员账号被盗。
六、CertD vs 传统方案对比
| 特性 | 手动管理 / certbot | CertD 自动化 |
|---|---|---|
| 申请耗时 | 30分钟~2小时 | 全自动(<5分钟) |
| 泛域名支持 | 需复杂 DNS 配置 | 图形化一键配置 |
| 多平台部署 | 需编写多个脚本 | 插件市场直接选择 |
| 可视化监控 | 无 | 实时看板 + 告警 |
| 数据安全性 | 私钥分散存储 | 集中加密 + 私有化部署 |
| 运维成本 | 高(需专人盯守) | 极低(设置后零维护) |
七、适用场景
- 个人博客/作品集:告别 Let's Encrypt 续期焦虑;
- 中小企业官网:统一管理多个子域证书;
- SaaS 平台:为租户自动签发自定义域名证书;
- 电商平台:确保支付页面始终 HTTPS 安全;
- DevOps 团队:集成到 CI/CD 流程,实现证书即代码(Certificates as Code)。
结语:让安全运维回归简单
CertD 的出现,标志着 SSL 证书管理从“运维负担”走向“基础设施自动化”。它不只是一款工具,更是一种理念:复杂的事情,应该由系统自动完成;人,应该专注于创造价值。
无论你是刚搭建第一个 WordPress 博客的新手,还是管理上百个域名的资深 DevOps 工程师,CertD 都能为你提供简洁、可靠、安全的证书管理体验。
🌐 项目地址:https://gitcode.com/gh_mirrors/ce/certd
📚 官方文档:https://certd.handsfree.work/docs
💬 在线 Demo(非生产环境):https://certd.handsfree.work
现在就部署 CertD,让你的网站 SSL 证书——永!不!过!期!