avatar

黄金月河3.1

浴火重生

  • 首页
  • Linux基础
  • 运维
  • Github
  • Python
  • 网络安全
  • 软路由
  • 时光手札
  • 关于
Home 告别手动运维!Certimate 开源工具实现 SSL 证书全生命周期自动化
文章

告别手动运维!Certimate 开源工具实现 SSL 证书全生命周期自动化

Posted 2025-03-17 Updated 2025-03- 17
By 奈幽
9~12 min read

告别手动运维!Certimate 开源工具实现 SSL 证书全生命周期自动化

一、为什么需要自动化证书管理?

作为个人开发者或中小企业运维,管理多域名 SSL 证书往往陷入「申请-部署-遗忘续期」的循环。Let's Encrypt 等免费证书 90 天有效期的设定,让每季度的重复性操作成为噩梦——某运维朋友曾因证书过期导致电商网站中断 2 小时,损失超五位数。Certimate 的诞生,正是为终结这种「用时间换安全」的低效模式。

这个 4.3K Star 的开源工具,通过 本地私有化部署 解决数据安全隐患,支持 20+ 域名托管商(阿里云/腾讯云/Cloudflare)、60+ 部署目标(K8s/CDN/SSH 服务器),从证书申请到续期全程自动化,真正实现「一次配置,永久省心」。

二、3 种部署方式,5 分钟启动服务

方案 1:二进制文件快速部署(推荐新手)

  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
    
  2. 启动服务:直接执行可执行文件
    ./certimate serve  # Windows 运行 .\certimate.exe serve
    
  3. 访问界面:浏览器打开 http://127.0.0.1:8090,使用默认账号登录
    账号:admin@certimate.fun | 密码:1234567890(首次登录建议修改密码)
    

方案 2:Docker 容器化部署(推荐生产环境)

  1. 创建配置目录:
    mkdir -p /opt/certimate && cd /opt/certimate
    
  2. 编写 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
    
  3. 启动容器:
    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 验证

  1. 登录后点击「域名管理」→「新增域名」,输入主域名(如 example.com)及泛域名(可选 *.example.com)。
  2. 选择 DNS 服务商(以腾讯云为例):
    • 前往腾讯云控制台获取「SecretId/SecretKey」
    • 在 Certimate 填写授权信息,测试连通性(确保 API 权限正确)。
    • 注意:CDN 场景避免直接使用泛域名,可能导致解析失败。

步骤 2:配置部署目标(以 SSH 服务器为例)

  1. 点击「部署配置」→「新增授权」,选择「SSH 部署」:
    • 填写服务器 IP、端口、用户名及私钥(支持密码或密钥登录)
    • 指定证书存放路径(如 /etc/nginx/ssl/)
  2. 关联域名与部署目标,勾选「自动续期前 15 天提醒」(支持邮件/钉钉/飞书通知)。

步骤 3:一键部署与验证

  1. 返回域名列表,点击「立即部署」,系统自动完成:
    • DNS TXT 记录添加(ACME 验证)
    • 证书申请(支持 RSA/ECC 算法)
    • 远程服务器证书替换(自动备份旧文件)
  2. 验证:通过 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 个以上域名的个人开发者
  • 缺乏专职运维的中小企业
  • 对数据安全敏感的政企项目

下一步行动:

  1. 立即尝试 Docker 部署,5 分钟体验自动化
  2. 加入 官方 Discord,获取最新功能预告
  3. 定期备份 pb_data 目录,防止数据丢失

运维的本质是减少重复劳动。当 Certimate 替你完成每 90 天的证书续期,省下的不仅是时间,更是对系统稳定性的掌控感。点击 GitHub 仓库,让证书管理从此「无感」。

运维
Certimate ssl Linux https
License:  CC BY 4.0
Share

Further Reading

Apr 8, 2025

rhel9 安装docker和docker-compose

1、rhel9 安装docker 1.1、yum安装 1.1.1、添加镜像源 sudo bash -c "cat > /etc/yum.repos.d/docker-ce.repo"<< EOF [docker-ce-stable] name = docker-ce-stable baseurl

Mar 17, 2025

告别手动运维!Certimate 开源工具实现 SSL 证书全生命周期自动化

告别手动运维!Certimate 开源工具实现 SSL 证书全生命周期自动化 一、为什么需要自动化证书管理? 作为个人开发者或中小企业运维,管理多域名 SSL 证书往往陷入「申请-部署-遗忘续期」的循环。Let's Encrypt 等免费证书 90 天有效期的设定,让每季度的重复性操作成为噩梦——某

Mar 11, 2025

轻量级监控告警工具 beszel

轻量级监控告警工具 beszel 项目信息 项目地址:https://github.com/henrygd/beszel 官方文档:https://beszel.dev/zh/guide/getting-started Beszel 是一个轻量级的服务器监控平台,包含 Docker 统计信息、历史数

OLDER

轻量级监控告警工具 beszel

NEWER

米家蓝牙温度计2充电改造

Recently Updated

  • 奈幽的渗透测试总结-红队
  • 基于Docker的虚拟 Chrome 浏览器
  • Metasploit Framework (MSF) 使用指南
  • rhel9 安装docker和docker-compose
  • 内网穿透工具:zrok

Trending Tags

Halo elasticsearch debian openwrt KeepassXC 必看精选 webdav 热门文章 docker Linux

Contents

©2025 黄金月河3.1. Some rights reserved.

Using the Halo theme Chirpy