网站突然挂了,一查发现是SSL证书过期——这种事你遇到过吗?尤其是手里管着十几个网站的时候,每个证书的到期时间都不一样,每次续期都要登录服务器、配置参数、重启服务,简直让人崩溃。今天聊个能解决这个痛点的工具:Certd,一个让证书管理变成"设置一次就忘掉"的开源项目。
Certd这个名字其实挺好理解——后面那个"d"就是Linux里守护进程的意思。换句话说,它就像个24小时待命的管家,专门盯着你的证书有没有快到期,到期了自动帮你续,续完了自动部署上去。
整个流程是流水线式的:申请证书 → 验证域名 → 部署到服务器 → 定时检查续期。这套逻辑现在被不少项目抄去用了,作者自己还挺自豪:"被抄也算一种成功。"
域名验证不挑食
DNS-01、HTTP-01、CNAME代理这些验证方式都支持,无论你的域名在哪个注册商那儿买的都能用。通配符域名、多域名绑定一个证书这些也没问题。
部署插件多到不像话
目前支持70多种部署方式——从自己的服务器到阿里云、腾讯云,从Nginx到CDN,基本你能想到的场景都覆盖了。证书格式也随便选:pem、pfx、der、jks想要哪种给哪种。
不会让你错过重要消息
邮件、企业微信、钉钉、飞书这些通知渠道都能接,证书快到期了、续期成功了、部署失败了,都会第一时间告诉你。
数据安全这块拿捏得死死的
👉 担心证书数据泄露?试试支持私有化部署的云服务——所有敏感信息都存在你自己的服务器上,支持SQLite、PostgreSQL、MySQL多种数据库。还有授权加密、2FA、密码防爆破这些安全措施,该有的都有。
用起来不折腾人
镜像是用Github Actions构建的,整个过程公开透明。装起来也快,API开放,支持中英文切换,多用户管理也没问题。最爽的是版本向下兼容,升级不用担心配置全废。
项目地址:
官方提供了个Demo环境:https://certd.handfree.work/,注册个账号就能体验完整功能。
不过得提醒一句:Demo的数据会定期清理,定时任务也可能随时停,玩玩可以,真要用还是得自己部署。毕竟证书这东西太敏感了,放在公共环境怎么想都不太合适。
第一步:创建证书申请任务
在界面里填上你的域名,选择验证方式(比如DNS验证),配置好域名服务商的API密钥。
第二步:添加部署任务
选个部署插件(比如"部署到主机"),填上服务器的SSH信息和证书存放路径,系统会自动把证书推到指定位置并重启相关服务。
第三步:设置定时运行
选个时间周期(比如每天凌晨3点检查一次),之后就不用管了,到期了它自己会续。
详细的图文教程在这里:https://gitee.com/certd/certd/blob/v2/step.md
因为涉及证书和授权信息这些高度敏感的东西,👉 需要一个稳定可靠的云服务器来部署证书管理系统?,私有化部署是强烈推荐的做法。
可以用Docker一键部署,也可以手动安装,甚至还有群晖NAS的专用版本。镜像构建过程全程用Github Actions完成,整个流程公开透明,想看源码随时看。
Certd有免费版和专业版两种,但说实话,免费版已经能满足绝大多数需求了。专业版主要是提供了一些高级功能,比如更复杂的部署场景、更细致的权限管理之类的。
顺便提一句,项目还配了个叫SSL-Assistant的客户端工具,运行在主机上,可以自动扫描Nginx配置然后从Certd拉取证书部署。如果你不想把SSH密码交出去,这个工具就很有用。
管证书这事儿,手动操作一两次还行,次数多了真的烦。有了Certd之后,基本就是"设置好就忘掉"的节奏——证书快到期了自动续,续完了自动部署,出问题了自动通知。
想试试的话,可以先在Demo环境玩玩,觉得靠谱了再自己部署一套。反正是开源的,代码都在那儿,爱怎么改怎么改。对于需要长期稳定运行的生产环境,👉 选择一个支持私有化部署的云服务平台来托管Certd是个明智的选择——毕竟证书管理这事儿,一旦出问题整个网站都访问不了,还是要找个靠谱的地方放着才放心。