自从 SSL 证书全面推广之后,市面上出现了不少免费的证书服务提供商,比如大家最熟悉的 Let’s Encrypt,也有大量收费的商业 SSL 可选。免费的证书虽然省心,但也带来了一个烦恼:有效期越来越短,从最初的泛域名一年,到现在的单域名 90 天,据说未来可能还要进一步缩短。
对我们这些部署在 VPS 或自管服务器上的网站来说,自动续签 SSL 证书成了一件既重要又容易出问题的事。比如常见的宝塔计划任务,明明配置了自动续签,结果还是隔三差五失效,导致证书过期、浏览器报错……
前段时间看到这个工具叫 Certimate,说是支持一键部署自动续签、系统级服务管理,配置还简单。刚好 Kevin’s Space 的几个子站证书快到期了,趁着端午节立刻安排上试试看,也顺便记录下使用过程与体验,万一你也遇到类似问题,或许能帮上忙。💕

1. Certimate 是什么?有什么用
Certimate 是一个由国人开发的开源 SSL 证书管理工具,支持 ACME 协议(Let’s Encrypt 等),通过一个简洁直观的 Web UI,我们可以方便地进行证书申请、部署与自动续签,不再需要命令行敲命令,也不再担心计划任务失效。对于需要管理多个网站 SSL 的用户来说,它几乎可以做到“装好就不用管”的程度。
Certimate 的定位很清晰:轻量、跨平台(Linux/macOS)、无需外部依赖,安装完成后即以 systemd 服务运行,自动监听证书状态、定时续签、部署重载,尤其适合不想再折腾 cron + certbot 的用户,或者希望用 Web 面板集中管理多个证书的站长。相比传统工具,Certimate 还有这些特点:
- 🧩 无需繁琐的 DNS API 配置(当然也支持);
- 🌐 提供 Web 界面,状态一目了然;
- 🛠️ 安装简单、依赖极少,几乎开箱即用;
- 📁 支持 Nginx、Caddy、Apache 等常见服务器证书部署。
工具名称 | 是否开源 | 操作方式 | 特点 / 优劣简述 |
---|---|---|---|
Certbot | ✅ | 命令行 + cron | 官方出品,兼容性强,但配置繁琐、不自带 Web 面板,需手动设置自动续签和 reload。 |
acme.sh | ✅ | 纯 Shell 脚本 | 极轻量、强扩展性,支持多 DNS API,适合熟悉命令行的用户,但无 UI,不够直观。 |
Certify The Web | ❌(商业) | 图形界面 | Windows 平台专用,界面友好,但闭源且主要面向 IIS 用户。 |
Certimate | ✅ | Web UI + 后台服务 | 简洁直观、部署灵活,适合 VPS 用户,中文文档齐全,社区活跃,正在快速迭代。 |
2. Certimate 安装部署过程记录
Certimate 支持多种部署方式,包括系统服务、Docker 容器、本地运行等,基本覆盖了大多数 VPS 和本地开发环境的需求。如果你熟悉 Linux 命令行,整套流程非常轻量、简洁,几分钟就能部署好。
值得一提的是,Certimate 的官方文档已经写得非常清楚,尤其是针对不同操作系统的安装细节和注意事项,建议首次使用一定要认真读一遍,避免踩坑。以下记录我在宝塔 Docker 安装 Certimate 的过程。

宝塔面板 Docker 编排安装 Certimate
得益于宝塔面板强大的集成功能,我们可以几乎全程“可视化操作”完成 Certimate 的 Docker 部署,无需手动敲命令,非常适合不熟悉命令行的用户。
在开始之前,请先将你要申请证书的域名解析到这台服务器,不管是通过 A 记录还是 CNAME,只要能成功访问,就可以进行自动验证。接下来是操作流程:
- 进入宝塔面板 → 应用商店安装 Docker 管理器插件(如未安装)
- 点击「Docker → 容器编排」,选择「添加容器编排」
- 在弹出的编辑框中填写
docker-compose.yml
内容(如下示例),然后保存: - 点击「启动」,稍等片刻,容器运行成功后,访问服务器的
http://IP:8863
即可进入 Certimate 的 WebUI
version: "3.0"
services:
certimate:
#image: usual2970/certimate:latest
image: registry.cn-shanghai.aliyuncs.com/usual2970/certimate:latest
container_name: Certimate
ports:
- "8863:8000" # 本地访问端口 → 容器内默认 Web 端口
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /www/wwwroot/certimate.shephe.com/config:/certimate/config
- /www/wwwroot/certimate.shephe.com/data:/certimate/data
# 作者默认设置容器内端口为 8090,若要改成别的端口,须添加下两行强制指定
entrypoint: ./certimate
command: serve --http 0.0.0.0:8000
restart: unless-stopped
⚠️ 注意事项:
- 请根据你的服务器情况,修改
8863:8000
为一个未被占用的端口,比如8001:8000
。
可以使用以下命令提前检查端口占用情况:sudo lsof -i -P -n | grep LISTEN
- 上述配置中我强制把容器内端口给改成了
8000
,实际使用时按作者设置的8090
可能更好。 - 如果你暂时不绑定域名(即直接通过 IP 和端口访问 Web 界面),记得在宝塔面板、系统防火墙或云服务安全组中放行你映射的端口,否则可能访问不到 Certimate 的后台页面。
3. Certimate 上手体验 & 配置教程
按 Certimate 系统预设的用户名密码登录后台后,我们可以看到它的后台非常简洁,没有任何营销信息或插件推荐,整体界面清爽直接。现在我们第一个动作,就是修改默认密码,保障系统安全。

新安装的 Certimate 后台界面(v0.3.14)
接下来,可以尝试配置第一条证书申请工作流。Certimate 的主要工作流程如下:
- 用户通过 Certimate WebUI 填写申请证书的参数,包括域名、DNS 服务商等信息。
- Certimate 通过 API 向证书颁发机构的发起申请请求,获取 SSL 证书。
- Certimate 存储证书信息,并在证书即将过期时自动续期。
- Certimate 通过 API 向云厂商发起部署请求,将证书部署指定服务上。

Certimate 工作流模板
通过用户设置的触发间隔,Certimate 会定期重复执行上述流程,以达成续期证书的目的。在此过程中,Certimate 需要授权信息以控制你的域名 DNS 解析记录,或访问你的云服务资源。我目前使用的配置是:DNS 服务器为阿里云,服务器面板使用宝塔,CDN 则搭配七牛云,以下是我基于这一环境配置 Certimate 的完整过程,供参考。
首先,我们需要设置 Certimate 的全局 ACME 服务商。我选择的是 Let’s Encrypt,这个方案不需要额外配置 API,部署起来也更加方便快捷。
接着,可以直接使用 Certimate 提供的预设模板,编排一条自动化工作流。整个流程类似我们日常的“上班打卡”流程图,分为多个阶段,其中最关键的是“申请 SSL 证书”和“部署证书”两个环节,这两步都需要连接到 DNS 服务商和服务器/CDN 平台,因此需要提前准备好对应的 API 凭证。
以阿里云为例,我们需要获取并配置 AccessKey。阿里云官方文档写得非常清楚,简单来说,步骤如下:
- 进入阿里云控制台,前往「RAM 访问控制」>「身份管理」>「用户」
- 如果还没有用户,先创建一个新用户,并勾选「使用永久 AccessKey 访问」
- 用户创建完成后,点击右侧「添加权限」,搜索并添加系统策略:
AliyunDNSFullAccess
💡这一步至关重要! 如果不授予这个权限,Certimate 将无法创建验证用的 DNS 记录,申请证书时会报错 —— 这点是我通过试错验证出来的。

获取阿里云 AccessKey
⚠️ 注意事项:AccessKey 和 Secret 只会在创建时显示一次,请务必及时保存,一旦关闭页面将无法再次查看。
获取好 AccessKey 后,我们将其填写在 “申请证书”节点中,用于连接阿里云 DNS 接口完成自动验证。接下来,需要获取服务器面板的 API 授权。以宝塔面板为例,进入宝塔后台,在「设置」>「面板设置」>「API 接口」中开启 API 并复制授权信息。务必将 Certimate 所在服务器的公网 IP 添加到白名单中,否则即便 API 开启了,也无法正常连接。将获取到的面板地址和 API 密钥填写至 “部署证书”节点中,即可完成部署配置。

配置完成后,你可以根据需要启用消息通知服务。如果觉得麻烦或暂时不需要通知功能,也可以将 “通知节点”删除掉。目前 Certimate 支持多种通知方式,包括 SMTP 邮件、企业微信、飞书、Telegram 等。
我用的是腾讯企业邮箱的 SMTP 服务来发通知。获取方式也很简单:进入企业邮箱 → 设置 → 账户设置 → 最底部点击「生成客户端专用密码」。把这个密码填进 Certimate 的 SMTP 配置就行了。
配置好后,点击右上角「发布更改」并启用流程。系统会自动检测证书状态;想立刻试试,也可以点「执行」按钮跑一遍——正常的话几秒就能搞定,当然,有时候也会踩点小坑… 😆
4. 总结与注意事项
Certimate 的自动化流程确实非常省心——一次配置,长期无忧,特别是对于有多个站点又喜欢白嫖的朋友来说,,是值得推荐的方案。当然,实际部署过程中也踩过不少坑,比如:
- 众所周知的网络波动问题,导致 Docker 镜像无法拉取
- AccessKey 权限未配置完整,尤其是缺少 AliyunDNSFullAccess 导致证书申请失败
- 宝塔面板未添加 IP 白名单,接口无法访问
- 泛域名证书 + CNAME 的冲突问题,造成 DNS 验证不生效
- 邮箱通知配置中,发件人与认证账号不一致,SMTP 拒信等问题
⚠️ 建议大家每一步都多检查一遍,尤其是权限和白名单设置,避免因小失误耽误整条流程。