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天会自动申请新证书并部署,没到期前不会重复申请
可以接收邮件通知(支持时机:开始、成功、失败、失败转成功)
需要配置邮件服务器