Certd 是一个免费全自动申请和自动部署更新SSL证书的工具。
后缀d取自linux守护进程的命名风格,意为证书守护进程。
关键字:证书自动申请、证书自动更新、证书自动续期、证书自动续签
一、特性
本项目不仅支持证书申请过程自动化,还可以自动化部署更新证书,让你的证书永不过期。
- 全自动申请证书(支持阿里云、腾讯云、华为云、Cloudflare等各种途径注册的域名)
- 全自动部署更新证书(目前支持部署到主机、部署到阿里云、腾讯云等)
- 支持通配符域名/泛域名,支持多个域名打到一个证书上
- 邮件通知
- 私有化部署,保障安全
- 免费、免费、免费(阿里云单个通配符域名证书最便宜也要1800/年)
二、在线体验
官方Demo地址,自助注册后体验
注意数据将不定期清理,不定期停止定时任务,生产使用请自行部署
包含敏感信息,务必自己本地部署进行生产使用
三、使用教程
本案例演示,如何配置自动申请证书,并部署到阿里云CDN,然后快要到期前自动更新证书并重新部署
四、私有化部署
由于证书、授权信息等属于高度敏感数据,请务必私有化部署,保障数据安全
1. 安装docker、docker-compose
1.1 准备一台云服务器
- 【阿里云】云服务器2核2G,新老用户同享,99元/年,续费同价!
- 【腾讯云】云服务器2核2G,新老用户同享,99元/年,续费同价!
1.2 安装docker
https://docs.docker.com/engine/install/
选择对应的操作系统,按照官方文档执行命令即可
2. 运行certd
# 随便创建一个目录 mkdir certd # 进入目录 cd certd # 下载docker-compose.yaml文件,或者手动下载放到certd目录下 wget https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml # 可以根据需要修改里面的配置 # 1.修改镜像版本号【可选】 # 2.配置数据保存路径【可选】 # 3.修改端口号【可选】 vi docker-compose.yaml # 【可选】 # 启动certd docker compose up -d
如果提示 没有compose命令,请安装docker-compose
https://docs.docker.com/compose/install/linux/
镜像说明:
- 国内镜像地址:
registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
registry.cn-shenzhen.aliyuncs.com/handsfree/certd:armv7
、[version]-armv7
- DockerHub地址:
https://hub.docker.com/r/greper/certd
greper/certd:latest
greper/certd:armv7
、greper/certd:[version]-armv7
- 镜像构建通过
Actions
自动执行,过程公开透明,请放心使用
3. 访问
http://your_server_ip:7001
默认账号密码:admin/123456
记得修改密码
五、 升级
如果使用固定版本号
- 修改
docker-compose.yaml
中的镜像版本号 - 运行
docker compose up -d
即可
如果使用latest
版本
#重新拉取镜像 docker pull registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest # 重新启动容器 docker compose down docker compose up -d
数据默认存在
/data/certd
目录下,不用担心数据丢失
更新日志: CHANGELOG
六、一些说明
- 本项目ssl证书提供商为letencrypt
- 申请过程遵循acme协议
- 需要验证域名所有权,一般有两种方式(目前本项目仅支持dns-01)
- http-01: 在网站根目录下放置一份txt文件
- dns-01: 需要给域名添加txt解析记录,通配符域名只能用这种方式
- 证书续期:
- 实际上没有办法不改变证书文件本身情况下直接续期或者续签。
- 我们所说的续期,其实就是按照全套流程重新申请一份新证书,然后重新部署上去。
- 免费证书过期时间90天,以后可能还会缩短,所以自动化部署必不可少
- 设置每天自动运行,当证书过期前20天,会自动重新申请证书并部署
七、不同平台的设置说明
八、问题处理
7.1 忘记管理员密码
解决方法如下:
- 修改docker-compose.yaml文件,将环境变量
certd_system_resetAdminPasswd
改为true
services: certd: environment: # 环境变量 - certd_system_resetAdminPasswd=false
- 重启容器
docker compose up -d docker logs -f --tail 500 certd # 观察日志,当日志中输出“重置1号管理员用户的密码完成”,即可操作下一步
- 修改docker-compose.yaml,将
certd_system_resetAdminPasswd
改回false
- 再次重启容器
docker compose up -d
- 使用
admin/123456
登录系统,请及时修改管理员密码
© 版权声明
文章版权归作者所有,未经允许请勿转载
1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 236749035@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 236749035@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
THE END
暂无评论内容