CertD 是一款免费且高度自动化的工具,用于申请和部署 SSL 证书。它的命名灵感来源于 Linux 中的守护进程,其中 “D” 代表 “守护进程”(Daemon)。CertD 不仅能够自动化整个证书申请流程,还能自动更新和部署证书,确保网站的安全连接始终有效。
特点
全自动申请证书:支持多种云服务商(如阿里云、腾讯云、华为云、Cloudflare 等)的域名注册。
全自动部署更新证书:支持直接部署到服务器或云服务商的负载均衡器。
支持通配符域名:适用于多个子域名。
邮件通知:及时了解证书状态变化。
私有化部署:提高数据安全性。
完全免费:无任何费用。
部署 CertD 使用 Docker Compose
方便部署 CertD,下面是一个使用 Docker Compose 配置的示例 docker-compose.yaml
version: '3.3'
services:
certd:
image: registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
container_name: certd
restart: unless-stopped
volumes:
- /data/app/docker/certd:/app/data # 数据持久化
ports:
- "5214:7001" # 映射端口
dns:
- 223.5.5.5
- 223.6.6.6
- 8.8.8.8
- 8.8.4.4
environment:
- TZ=Asia/Shanghai
- certd_system_resetAdminPassword=false # 配置是否重置管理员密码
- certd_cron_immediateTriggerOnce=false # 立即触发 cron 任务
- VITE_APP_ICP_NO= # 配置备案号
docker-compose 启动服务
root@Dev-Debian11-LosAngeles-America2:/data/richard/docker-compose# docker-compose up -d # 这将创建并启动 CertD 容器
Creating network "docker-compose_default" with the default driver
Pulling certd (registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest)...
latest: Pulling from handsfree/certd
c6a83fedfae6: Pull complete
d9aac50bc34e: Pull complete
0150f131fd2f: Pull complete
c0ce3bd8f303: Pull complete
ac0a5c81b3bb: Pull complete
1745b45c1451: Pull complete
e8efdd4e53a6: Pull complete
Digest: sha256:257317bc902f91a500559a5a27b507ae65c0db4755a9272e6a7045d4c3990725
Status: Downloaded newer image for registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
Creating certd ... done
root@Dev-Debian11-LosAngeles-America2:/data/richard/docker-compose# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
965d344dd0f4 registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest "docker-entrypoint.s…" 10 seconds ago Up 8 seconds 0.0.0.0:5214->7001/tcp, :::5214->7001/tcp certd
结论
CertD 为网站管理员提供了一种简单而强大的方式来管理 SSL 证书。通过 Docker Compose 的自动化部署,可以轻松地在几分钟内完成设置。使用 CertD 可以确保网站始终保持最新的安全标准,同时减少手动管理证书所需的时间和精力。
配置SSL证书访问和配置管理
注意事项
在生产环境中使用时,请考虑使用固定的版本号来避免因镜像更新导致的潜在问题
确保 DNS 解析正确指向运行 CertD 的服务器
对于更高级的配置选项,请参考 CertD 的官方文档