找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1943|回复: 0

【Tools】一款开源&跨平台一键生成SSL证书工具CertD

[复制链接]

37

主题

0

回帖

255

积分

管理员

积分
255
发表于 2024-11-18 17:34:09 | 显示全部楼层 |阅读模式
CertD
CertD 是一个免费全自动申请和部署SSL证书的工具。
后缀D取自linux守护进程的命名风格,意为证书守护进程。
一、特性
本项目不仅支持证书申请过程自动化,还可以自动化部署证书,让你的证书永不过期。
  • 全自动申请证书(支持阿里云、腾讯云、华为云注册的域名)
  • 全自动部署证书(目前支持服务器上传部署、部署到阿里云、腾讯云等)
  • 支持通配符域名
  • 支持多个域名打到一个证书上
  • 邮件通知
  • 证书自动更新
  • 免费、免费、免费(阿里云单个通配符域名证书最便宜也要1800/年)

二、在线体验
官方Demo地址,自助注册后体验
注意数据将不定期清理,生产使用请自行部署
包含敏感信息,务必自己本地部署进行生产使
三、本地docker部署1. 安装docker、docker-compose1.1安装docker https://docs.docker.com/engine/install/ 1.2安装docker-compose https://docs.docker.com/compose/install/linux/2. 下载docker-compose.yaml文件mkdircertd cdcertd wgethttps://raw.githubusercontent.co ... docker-compose.yaml #或者使用gitee地址 wgethttps://gitee.com/certd/certd/ra ... docker-compose.yaml #根据需要修改里面的配置 #1.修改镜像版本号 #2.配置数据保存路径 #3.配置certd_auth_jwt_secret vidocker-compose.yaml 镜像版本号与release版本号同步: https://github.com/certd/certd/releases3. 运行#如果dockercompose是插件化安装 exportCERTD_VERSION=1.20.9 dockercomposeup-d #如果dockercompose是独立安装 exportCERTD_VERSION=1.20.9 docker-composeup-d4. 访问http://your_server_ip:7001 默认账号密码:admin/123456记得修改密码5. 升级
  • 修改版本号,重新运行docker compose up -d即可
  • 数据存在/data/certd目录下,不用担心数据丢失

四、使用教程
本案例演示,如何配置自动申请证书,并部署到阿里云CDN,然后快要到期前自动更新证书并重新部署。
准备工作
  • 已部署CertD服务(可官方Demo自助注册体验https://certd.handsfree.work/
  • 注册一个域名(支持阿里云万网、腾讯云DnsPod、华为云)
  • 准备好以上DNS解析服务商的AccessKeyAccessSecret
  • 证书要部署的目标(可选,单纯当成证书申请工具用也不错)
  • 自动化流水线创建1. 创建证书申请部署流水线


  • 需要添加域名的DNS解析服务商的授权


    填写accessKey和accessSecret


    流水线创建成功


    2. 任务详情界面

    到这一步申请证书就已经配置完成了。点击手动触发,就可以申请证书了。
    接下来演示如何添加部署任务
    3. 添加部署到阿里云CDN任务
    点击添加任务


    选择任务类型


    填写任务参数


    点击确定,部署到CDN任务配置成功

    4. 添加部署到服务器主机任务
    点击新任务,弹出添加任务界面


    先选择上传到主机任务
    填写任务参数,比如证书保存路径


    需要添加主机ip、用户名、密码,只需添加一次,后续其他任务可以复用


    然后添加第二个任务,执行主机命令,部署证书


    选择执行脚本命令任务


    编写脚本,选择之前添加的主机


    点击确定,部署到主机任务配置成功


    5. 手动触发执行任务,测试一下

    点击任务可以查看状态和日志


    这里执行失败,可以查看错误日志


    修改正确后,重新执行


    可以看到前面执行过的就会跳过,不会重复执行


    6. 查看证书部署效果
    可以看到证书已经部署到CDN成功


    也可以手动下载证书


    7. 定时触发
    配置定时触发,以后每天定时执行
    cron格式,例如:0 0 3 * * *表示每天凌晨3点执行
    到期前20天会自动申请新证书并部署,没到期前不会重复申请


    8. 邮件通知
    可以接收邮件通知(支持时机:开始、成功、失败、失败转成功)


    需要配置邮件服务器


    五、一些说明
    • 本项目ssl证书提供商为letencrypt
    • 申请过程遵循acme协议
    • 需要验证域名所有权,一般有两种方式(目前本项目仅支持dns-01)

      • http-01:在网站根目录下放置一份txt文件
      • dns-01:需要给域名添加txt解析记录,通配符域名只能用这种方式

    • 证书续期:

      • 实际上acme并没有续期概念。
      • 我们所说的续期,其实就是按照全套流程重新申请一份新证书。

    • 免费证书过期时间90天,以后可能还会缩短,所以自动化部署必不可少
    • 设置每天自动运行,当证书过期前20天,会自动重新申请证书并部署




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|极客云码 ( 豫ICP备14014030号-10 )

GMT+8, 2025-5-4 02:30 , Processed in 0.071917 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表