


























1. 前言:为什么我要折腾自动 SSL 证书?
手里的这台 Unraid NAS,已经兢兢业业服役好些年了。但在享受私有云便利的同时,也有个痛点一直困扰着我——SSL 证书的续期。
以前为了让外网访问更安全,我都是手动申请免费证书。但免费证书只有 3 个月有效期,每隔一个季度就要手动折腾一次。人总有忙忘的时候,一旦忘记续期,浏览器那红色的“不安全”警告不仅看着糟心,访问服务也变得麻烦。
前几天刷 B 站,偶然看到了Certimate 教程,顿时眼前一亮!既然能自动部署,何不把这套神器搬到 NAS 上?
经过一番折腾和踩坑,终于实现了 SSL 证书的“全自动驾驶”。今天就把这套方案分享给大家,离“零维护”的懒人 NAS 更近一步!
2. 背景知识:Unraid 与 SSL 的“爱恨情仇”
Unraid 简述
Unraid 的核心魅力在于三点:灵活的磁盘阵列、轻量的虚拟化、以及“傻瓜式”的 Docker 管理。这套组合拳对家庭服务器玩家极度友好。
虽然我现在用的是 6.9.1 这个“养老版本”,但它跑容器、轻量 VM、做反向代理、挂媒体库依然稳如老狗。
痛点在哪里?
Unraid 原生系统在 SSL 证书管理上略显尴尬:
这就导致想要安全的外网访问,以前只能依赖外部反代方案、手动申请证书,或者自己写复杂的脚本。而 Certimate 的出现,提供了一个优雅、可视化的解决方案。
Unraid官网:https://unraid.net/
3. 主角登场:Certimate 是什么?
如果你管理过多个域名或服务,一定经历过这种崩溃:
Certimate 就是为了终结这些烦恼而生的开源工具。
它的核心优势:
Github项目地址:https://github.com/certimate-go/certimate
4. 实操环节:在 Unraid Docker 中部署 Certimate
注:本文假设你已经搞定了 DDNS、反向代理和域名解析等基础 NAS 配置。
第一步:手动添加容器
由于 Unraid 应用市场(CA)目前可能搜不到 Certimate 模板,我们需要手动添加。



第二步:配置路径与端口
我们需要手动添加端口映射和路径映射,这步很关键!

点击 "添加另一个路径、端口…" 依次添加:
点击 应用,等待容器下载并启动。别忘了在 Docker 列表中把它的 自启动 打开。

5. 凭据配置:打通“任督二脉”
部署完成后,我们就可以点击图标进入webUI,或者通过浏览器访问 http://NAS_IP:9877 进入后台。

5.1 初始化设置
登录后请务必先修改邮箱和密码!修改后需要重新登录。

5.2 添加授权凭据
Certimate 需要两个核心权限:
① 添加 DNS 服务商凭据 点击左侧“凭据管理”。根据你的域名在哪里买的(阿里云、腾讯云、Cloudflare等),选择对应的服务商。
说明:这主要用于 DNS-01 验证。申请证书时,Certimate 会自动在你的 DNS 解析里添加一条记录,证明你拥有这个域名,无需在服务器上放文件验证,非常适合内网 NAS。


② 添加 NAS 本机 SSH 凭据 虽然 Certimate 跑在 NAS 的 Docker 里,但为了让它能把证书写到 Docker 外部(比如 Nginx 的目录),我们需要通过 SSH 远程(其实是回环)连接。

提供商授权配置完成之后的列表如下:

③ 添加证书颁发机构 (可以使用默认的Let's Encrypt跳过这一步)我使用的是ZeroSSL。


证书颁发机构授权配置完成之后的列表如下:

④ 配置通知渠道 (避坑) 我使用的是邮件通知。
⚠️ 避坑指南:实测 QQ 邮箱目前存在 Bug,即使发送成功也会显示失败(截至 2025-12)。强烈建议使用 163 邮箱或其他服务商。


通知渠道授权配置完成之后的列表如下:

6. 核心玩法:配置自动化工作流
这是最激动人心的一步,配置好后,以后它就会自己动了!
6.1 创建工作流
点击“工作流”,从空白创建。

这里我推荐一个比较健壮的流程逻辑(模板json文件放后面可以下载):
开始 → 尝试执行 申请证书 ↓→ 若失败 推送失败通知 → 结束
若成功 部署到本地 → 延迟60s → 尝试执行 监控xxxx.com网站 ↓→ 若失败 推送失败通知 → 结束
若成功 推送成功通知 → 结束

6.2 节点详细配置
1. 开始节点 (Trigger)
解释:这意味着从 3 月开始,每隔 3 个月的 5 号凌晨 2:30 执行一次。SSL 证书有效期通常是 90 天,这个频率刚刚好。

2. 申请 SSL 证书节点

3. 部署到 NAS 本地节点 (关键!)
在“后置命令”栏填入:
Bash
# 拼接证书和私钥(中间必须有换行)
sudo sh -c "cat /mnt/user/appdata/nginx/ssl/fullchain.cer ; printf '\n\n' ; cat /mnt/user/appdata/nginx/ssl/xxxx.com.key" > /boot/config/ssl/certs/Tower_unraid_bundle.pem
# 重启Unraid默认的Nginx、 Nginx 容器(根据你的容器名调整)
sudo nginx -s reload
sudo docker restart nginx
注意:

4. 监控与通知节点 添加一个监控节点,填入你的网址,用于最后验证证书是否真的更新成功。最后串联上邮件通知节点。


6.3 测试与发布
保存工作流,点击 “运行” 进行一次测试。


观察日志,如果没有报错,恭喜你!你的 NAS 已经神功大成,从此拥有了长期有效的 HTTPS 护盾。

7. 总结
通过 Docker 部署 Certimate,我们用可视化的方式解决了 Unraid SSL 证书自动续期的难题。
如果你觉得这篇文章对你有帮助,欢迎 点赞、收藏 支持一下!有任何问题由于 Unraid 版本不同可能会有差异,欢迎在评论区交流讨论。
文件下载:
unraid的docker模板与Certimate工作流模板,解压后把my-certimate.xml 放到 /boot/config/plugins/dockerMan/templates-user 这个目录。 json文件在certimate的工作流编辑器中复制粘贴导入。
https://wwaud.lanzoul.com/is0vZ3d7rokf
密码:liuxin
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。