
CertD 是一个免费全自动申请和部署SSL证书的工具。
后缀D取自linux守护进程的命名风格,意为证书守护进程。
本项目不仅支持证书申请过程自动化,还可以自动化部署证书,让你的证书永不过期。
官方Demo地址,自助注册后体验
https://certd.handsfree.work/
注意数据将不定期清理,生产使用请自行部署 包含敏感信息,务必自己本地部署进行生产使
1.1 安装docker
https://docs.docker.com/engine/install/
1.2 安装docker-compose
https://docs.docker.com/compose/install/linux/
mkdir certd
cd certd
wget https://raw.githubusercontent.com/certd/certd/v2/docker/run/docker-compose.yaml
# 或者使用gitee地址
wget https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml
# 根据需要修改里面的配置
# 1.修改镜像版本号
# 2.配置数据保存路径
# 3.配置certd_auth_jwt_secret
vi docker-compose.yaml
镜像版本号与release版本号同步:
https://github.com/certd/certd/releases
# 如果docker compose是插件化安装
export CERTD_VERSION=1.20.9
docker compose up -d
#如果docker compose是独立安装
export CERTD_VERSION=1.20.9
docker-compose up -d
http://your_server_ip:7001
默认账号密码:admin/123456 记得修改密码
本案例演示,如何配置自动申请证书,并部署到阿里云CDN,然后快要到期前自动更新证书并重新部署。

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

填写accessKey和accessSecret

流水线创建成功


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

选择任务类型

填写任务参数

点击确定,部署到CDN任务配置成功
点击新任务,弹出添加任务界面

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

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

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

选择执行脚本命令任务

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

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


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

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


修改正确后,重新执行

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

可以看到证书已经部署到CDN成功


也可以手动下载证书

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

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

需要配置邮件服务器
