为 Synology DSM 7.x 提供的一键式 SSL 证书自动化配置工具,支持 Let's Encrypt 免费证书申请与自动续期。
- 🔒 一键部署: 自动申请并部署 SSL 证书到 Synology DSM
- 🔄 自动续期: 每3天自动检查并续期证书
- 🌐 多 DNS 支持: 支持 Cloudflare、HE.NET 等多种 DNS 服务商
- 🛠️ 环境修复: 一键修复损坏的 acme.sh 环境
- ⚡ 强制更新: 支持手动强制更新证书
- 📧 邮件通知: 证书到期前自动发送提醒邮件
- Synology DSM 7.x
- Root 权限(需要 sudo)
- 已有域名并配置 DNS
- 可访问公网(用于申请 Let's Encrypt 证书)
cd ~
git clone https://github.com/moewah/syno-ssl-auto.git
cd syno-ssl-auto编辑 ssl.conf 文件,填写必要的信息:
nano ssl.conf配置项说明:
| 配置项 | 说明 | 示例 |
|---|---|---|
ACME_ACCOUNT_EMAIL |
账户邮箱(接收证书过期通知) | abc@qq.com |
CERT_DNS |
DNS 服务类型 | dns_he 或 dns_cf |
CERT_DOMAIN |
Synology DSM 域名 | domain.com |
SYNO_USERNAME |
DSM 管理员账号 | admin |
SYNO_PASSWORD |
DSM 管理员密码 | yourpassword |
export CERT_DNS="dns_he"
export HE_Username="HE.NET账号"
export HE_Password="HE.NET密码"export CERT_DNS="dns_cf"
export CF_Token="MY_SECRET_TOKEN_SUCH_SECRET"
export CF_Email="myemail@example.com"更多 DNS 服务商配置请参考: acme.sh DNS API 文档
sudo su
bash install_synology_ssl.sh脚本提供交互式菜单,请根据需求选择操作:
====================================
Synology DSM SSL 证书管理工具
====================================
1. 自动部署证书
2. 启用自动升级
3. 关闭自动升级
4. 修复损坏环境
5. 强制更新证书
0. 退出
====================================
- 自动部署证书: 首次使用,自动申请证书并部署到 DSM
- 启用自动升级: 启用 acme.sh 自动更新功能
- 关闭自动升级: 关闭 acme.sh 自动更新功能
- 修复损坏环境: 修复因 DSM 系统升级导致的变量被重置的问题
- 强制更新证书: 手动强制重新申请并部署证书
- 证书申请: 使用 acme.sh 通过 DNS 验证申请 Let's Encrypt 证书
- 证书部署: 自动将证书部署到 Synology DSM 系统
- 自动续期: 添加 cron 任务,每3天凌晨2点自动检查并续期证书
- 邮件通知: 证书到期前发送提醒邮件到配置的邮箱
自动续期任务会在 /etc/crontab 中添加以下条目:
0 2 */3 * * root /usr/local/share/acme.sh/acme.sh --cron --home /usr/local/share/acme.sh- 执行时间: 每3天凌晨2点
- 任务内容: 检查证书有效期,如需续期则自动续期
- 自动备份: 添加任务前会自动备份原 crontab 文件
- 首次部署: 首次使用必须选择选项「1. 自动部署证书」
- DNS 配置: 确保 DNS 配置正确,否则证书申请会失败
- 域名解析: 确保域名已正确解析到你的 Synology NAS 公网 IP
- 端口开放: 确保 80/443 端口可访问(虽然使用 DNS 验证,但某些情况需要)
- 备份建议: 建议在修改系统配置前先备份重要数据
- 密码安全: 请妥善保管
ssl.conf中的敏感信息,不要泄露
- 检查 DNS 配置是否正确
- 确认域名已正确解析
- 检查 acme.sh 日志:
/usr/local/share/acme.sh/acme.sh --home /usr/local/share/acme.sh --list
- 检查 cron 任务是否添加:
cat /etc/crontab - 手动强制更新续期:运行选项「5. 强制更新证书」
- 查看系统日志检查错误
在Synology DSM升级后,请运行选项「4. 修复损坏环境」修复因 DSM 系统升级导致的变量被重置的问题。
MIT License
欢迎提交 Issue 和 Pull Request!
- acme.sh - 让 SSL 证书申请变得简单
- Let's Encrypt - 提供免费 SSL 证书
如果这个项目对你有帮助,欢迎请我喝杯咖啡:
