群晖DSM7.X安装ACME自动续期SSL证书的故障
遇到的问题是:在使用acme.sh部署证书到Synology DSM时,出现了"Unable to find certificate: and is not set."的错误。 根据错误信息,acme.sh在尝试部署证书到Synology DSM时,无法找到对应的证书,并且没有设置某些值。
常规情况下,有且只有一个证书时是不会出现这个情况的,但是如果同时存在多个证书时,就会出现这个情况,还有就是此前存在同名的证书文件时,也会出现这个错误。

可能的原因和解决方案:
检查Synology DSM的证书是否存在:在DSM的“控制面板”->“安全性”->“证书”中,确认是否有与域名'wesus-group.com'相关的证书。如果没有,可能需要先创建一个(即使临时创建然后替换)。
部署钩子(synology_dsm)需要知道要替换的证书的描述(description)或ID。错误信息中提到了“Unable to find certificate: and is not set.”,说明没有指定要替换的证书。
解决步骤
获取现有证书的标识 登录 DSM 控制面板 进入 控制面板 > 安全性 > 证书。
找到域名证书 在证书列表中找到为 wesus-group.com 颁发的证书(通常类型为 "服务" 或 "默认")。
记录证书标识:
推荐使用描述 (Description):复制证书的 "描述" 字段(如 My SSL)。
或使用 证书 ID:点击证书 > 导出 > 记录文件名中的 ID(如 SYNO_Cert_XXXXXXXX)。
设置环境变量并重新部署
export SYNO_Certificate="11111"
/root/.acme.sh/acme.sh --deploy -d "xxxxx.com" --deploy-hook synology_dsm
校验结果
1.成功后日志显示:Certificate renewed and deployed successfully。
2.在 DSM 证书列表中检查该证书的 到期日期 是否已更新。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
