在本指南中,您将学习如何使用ACME + EAB 凭证在 Synology NAS 上安装ACME SSL证书,然后将其导入 Synology。安装完成后,您的 NAS 将运行一个完全在 DSM(磁盘站管理器)之外自动处理的证书。

Synology DSM 允许直接通过图形用户界面导入 SSL 证书,但对于商业 ACME 证书(来自Sectigo或DigiCert 等提供商),最好的方法是使用acme.sh从外部管理,然后再导入。
开始之前
确保具备以下条件
- 指向 Synology 公共 IP 的域名
- DSM 7.x(为获得最佳兼容性,建议使用 7.2)支持通过图形用户界面导入全部证书”。
- 外部 Linux 主机、VPS 或本地服务器,您可以在其中安装
acme.sh - 访问证书提供商的ACME URL和EAB 证书(KID + HMAC)
第 1 步:安装 acme.sh
首先,您需要 ACME 客户端来处理与 CA 的通信。
在外部主机(Linux、BSD 或 VPS)上运行这些命令:
curl https://get.acme.sh | sh
source ~/.bashrc
acme.sh --version
你应该看到屏幕上打印的版本。这意味着安装成功。
步骤 2:在 CA 注册 ACME 帐户
您的商业供应商(如 Sectigo 或 DigiCert)会为您提供两个凭证:一个EAB 密钥 ID和一个HMAC 密钥。这些凭证将授权您的 ACME 客户端。
获得它们后,在同一主机上运行此命令:
acme.sh --register-account \
--server https://acme.yourca.com/v2/acme \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--accountemail [email protected]
用您的实际凭据替换占位符。
第 3 步:通过 DNS 验证签发证书
现在使用 DNS 验证签发证书–这是 NAT 后面 NAS 设备最安全可靠的选择。
示例(手动 DNS 条目):
acme.sh --issue \
-d yourdomain.com \
--dns dns_manual \
--server https://acme.sectigo.com/v2/OV
系统会提示您创建 DNS 记录:
_acme-challenge.yourdomain.com TXT (token value)
传播后(使用dig TXT _acme-challenge.yourdomain.com +short 进行检查),重新运行命令完成验证。
您的证书文件将保存在~/.acme.sh/yourdomain.com/ 下。
在该文件夹中,您可以找到
- fullchain.cer– 证书 + 中间链
- yourdomain.com.key– 私有密钥
- ca.cer– 根节点/中间节点(如单独提供)
步骤 4:将证书导入 Synology
- 登录 DSM> 控制面板> 安全> 证书。
- 单击添加> 导入证书
- 上传您的私人密钥和证书(fullchain.cer)
导入后,转到 “设置”,将证书分配给:
- DSM 网络界面
- 文件站/网络站
- 反向代理
- WebDAV / 驱动器
- SSL VPN(如使用)
现在,您的 NAS 将使用上传的 SSL 证书。
步骤 5:自动续订并同步到 DSM
如果您希望 Synology NAS 始终更新最新的证书,而无需登录 DSM 或手动上传文件,可以使用acme.sh内置的synology_dsm 部署钩子。这样,acme.sh 就可以通过 HTTPS 直接将更新的证书推送到 DSM。
下面是设置方法。
1.配置 DSM 凭据(一次性设置)
从外部主机(安装acme.sh 的地方)运行
export SYNO_Username="admin"
export SYNO_Password="YourAdminPassword"
export SYNO_Hostname="nas.local"
export SYNO_Port="5001"
用您的凭据替换占位符。这些值保存在您的 shell 会话中,acme.sh 使用它们进行安全连接。
2.将证书部署到 DSM
签发或更新证书后,使用
acme.sh --deploy \
-d yourdomain.com \
--deploy-hook synology_dsm
该命令将
- 通过 HTTPS(端口 5001)连接 NAS
- 上传私钥和证书文件
- 替换 DSM 控制面板中的当前证书
- 重启所有必要的服务(图形用户界面、文件站、WebDAV 等)
您可以在DSM> 控制面板> 安全> 证书中验证更改。
3.让 acme.sh 处理一切(自动更新 + 自动部署)
好消息:acme.sh 已经安装了每天运行的 cron 作业。如果您的证书即将过期,它就会运行:
- 自动更新证书
- 再次触发
synology_dsm部署钩子 - 将新证书上传到 DSM
- 静默重启 DSM 服务
一旦设置完成,一切都会自动运行。无需与图形用户界面交互。
常见问题
下面我们将介绍用户在安装后最常问到的问题:
我能否在 NAS 上安装并运行 acme.sh?
技术上可以(通过 SSH 或 Docker),但 DSM 更新可能会破坏依赖关系。从外部主机管理 ACME 更为安全。
Synology 會自動更新外部憑證嗎?
不,DSM 不会自动提取更新。请使用部署钩子或计划脚本在每次更新后推送更新。
可以使用通配符证书吗?
是的,-d *.yourdomain.com 使用 DNS 验证的问题。在您的配置文件中启用 ACME 后,Sectigo 和 DigiCert 都支持通配符。
最后的话
该设置将现代商业 ACME SSL 自动化与 Synology 生态系统连接起来。您只需编写一些脚本,就能获得可信证书、全链控制和外部更新等优势。一旦完成一次,您就可以轻松复制到其他 NAS 设备、子域或客户端。

