随着各大云服务提供商将免费DV SSL证书的有效期从一年缩短至三个月,Let's Encrypt的免费泛域名SSL证书和多域名SSL证书,凭借相同的有效期,成为了更为合理的选择。对于熟悉acme.sh
的用户而言,这款工具已经极大地简化了SSL证书的自动申请与续期流程。最近,博主xiaoz发现了一款名为CertD的新工具,它可视为acme.sh
的WEB版本,为用户提供了更加便捷的操作界面。本文将详细介绍如何通过Docker快速部署CertD以申请免费泛域名SSL证书。
CertD的主要特点
- 全自动证书申请:支持通过阿里云、腾讯云、华为云、Cloudflare等多种途径注册的域名。
- 全自动证书更新和部署:目前支持将证书自动部署到主机、阿里云、腾讯云等平台。
- 支持通配符域名和多域名证书:能够将多个域名打包到一个证书中。
- 邮件通知:提供证书状态更新的邮件通知服务。
- 私有化部署:支持私有部署,保障数据安全。
- 完全免费:CertD本身为免费工具,无需额外支付费用。
Docker部署CertD
以下是使用Docker Compose私有部署CertD的步骤:
创建
docker-compose.yaml
文件,内容如下:version: '3.3' services: certd: image: registry.cn-shenzhen.aliyuncs.com/handsfree/certd:1.23.1 container_name: certd restart: unless-stopped volumes: - ./data:/app/data - ./ssl:/data/ssl ports: - "7001: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 - VITE_APP_ICP_NO=
在命令行中运行以下命令启动容器:
docker-compose up -d
- 在浏览器中访问
http://your_server_ip:7001
,使用默认账号密码admin/123456
登录后,务必立即修改密码。
CertD的基本使用
CertD的自动化流程十分简单高效:
授权管理:在CertD中添加DNS授权,目前支持DNSPOD、腾讯云、阿里云、华为云、Cloudflare等主流DNS服务商。
添加证书自动化流水线:根据实际需求,填写域名和邮箱等必要信息。对于泛域名证书,填写
*.example.com
,并按回车键添加多个域名。手动触发证书申请:配置完毕后,可以手动触发SSL证书的申请,通常几分钟内即可完成。
证书下载与导出:申请成功后,您可以将SSL证书下载到本地,或配置更多自动化步骤,如将证书自动上传到云服务商。
注意事项
在使用CertD申请SSL证书时,可能会遇到申请失败的情况。通常,这可能是因为您的域名DNS中已经存在名为_acme-challenge
的记录,这与Let's Encrypt的要求冲突。建议在申请前删除已有的_acme-challenge
记录。
此外,CertD的Docker镜像未推送到Docker Hub,因此必须使用指定的阿里云镜像地址来拉取镜像。
结语
CertD作为一款专业的SSL证书管理工具,通过自动化的证书管理流程显著提高了运维和开发人员的工作效率。尽管目前CertD支持的DNS服务商数量较为有限,但其功能足以满足大部分用户的需求。随着CertD的进一步发展,未来有望支持更多的平台和服务商。对于运维和开发人员而言,CertD是一个值得推荐的SSL证书管理工具。