# 使用 Certd 部署免费证书续期服务
目录
前言
天下个人站长苦证书久矣,前有 Certbot、acme.sh,今有 Certimate、Certd。
在 2025 年 4 月,CA/B 论坛组织投票,正式通过了 SC-081v3 提案,决定将 SSL 证书最长有效期从 398 天逐步缩短至 47 天(2029 年 3 月 15 日起生效)。越来越多的免费证书颁发机构逐步缩短了免费证书的有效期,给个人站长添更多的麻烦。
对于个人站长来说,频繁地手动续期 SSL 证书既繁琐又容易出错。因此,自动化 SSL 证书的续期过程至关重要。在这件事上,全球的开发者都有所共识,有大量的开源软件、脚本和工具应运而生,旨在简化这一过程。
其中,最为有名的莫过于 Certbot 和 acme.sh 这两个命令行工具。它们通过自动化的方式,极大地简化了 SSL 证书的申请和续期流程,受到了广泛的欢迎。
而本篇将介绍的 Certd 是一个开源的、GUI 体验的免费 SSL 证书管理系统,支持全自动证书申请流程,涵盖从申请、验证、部署的整个工作流自动化。
安装与使用
Certd 的安装和使用相当简单,堪称傻瓜式操作。在此仅记录 Docker 部署私有化服务,更多场景可以前往官方文档查找。
部署
mkdir certdcd certdwget https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml
# 可选更改配置,官方的compose文件中包含了较为详细的注释# vim docker-compose.yaml
docker compose up -d
服务启动后,访问 http://ip:7001
(默认端口 7001)即可使用 Certd 的 Web 界面进行证书管理。默认用户名与密码是 admin
123456
。
使用
Certd 的使用非常直观,在此不多赘述,实在是看不懂——可以在部署完成后通过 Web 界面顶部的“使用教程”按钮查看图文的使用说明。
外部通知
在此单独一提外部通知服务, Certd 支持在任务完成、任务失败、任务失败后转完成三种情况时发送通知,但通知通道对免费用户限制很大,仅支持 Webhook、邮件、Onebot 推送。由于我本人对 QQ 依赖更大,恰好也有 Onebot(Napcat QQ) 部署,因此选用了 Onebot 通知的方式。在此贴上两张图解以供参考:

首先,在 Napcat 中新建一个 HTTP Server 的网络配置,端口随意,Websocket 支持可以不开,建议设置一个 Token,监听必须改成 0.0.0.0
(Certd Docker 部署无法访问 localhost)。

在 Certd 通知配置中,填写 Napcat 的访问地址和 Token,选择好自己希望的通知类型(私聊/群聊)并配置好 QQ 号/群号,点击一下测试,确保能够成功收到即可保存使用。
碎碎念杂谈
说实话,我选择 Certd 而不是 Certimate 仅仅只是因为恰好第一个看到是 Certd,而我又想用用 GUI 应用而不是命令行体验。但个人觉得 Certd 的收费模式有些“难看”,有种自己在用宝塔面板一样的感觉(虽然宝塔其实还有 All-in-SSL 这件狗事才对)。
Certd 作为一个使用 AGPL v3 作为基础协议的开源项目,在商业使用时需要再三斟酌。同时,个人认为它的协议条款是有违 AGPL v3 协议的,商用与一些行为可能存在法律风险和争议,具体在:
certd/LICENSE.md 中这样写到:
本项目遵循 GNU Affero General Public License(AGPL),并附加以下条款。
以 AGPL v3 协议来说,其第十条有明确的规定:
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
对于使用 AGPL v3 协议的项目,是不允许向用户限制其从 AGPL v3 协议中获得的权利的。其“附加以下条款”的用词,正是对这一点的违背,但额外的 LICENSE.md
中又以 Certd Open Source License
作为标题,表明这可能是双协议项目的同时没有明确说明协议优先程度。
商业使用可能会有相应的法律风险,虽然同时 AGPL v3 协议通常也不会被大公司商用就是了。