准备工作
在开始之前,确保您有以下条件:
- 拥有一个域名,并且可以控制其 DNS 记录。
- 对您的 Synology NAS 有管理员权限。
- SSH 访问权限。
安装 acme.sh
首先,您需要在您的设备上安装 acme.sh。通过 SSH 登录到您的 NAS 并执行以下命令:
复制
sudo su
cd ~
wget https://github.com/acmesh-official/acme.sh/archive/master.tar.gz
tar xvf master.tar.gz
cd acme.sh-master/
./acme.sh --install --nocron --home /usr/local/share/acme.sh --accountemail "email@gmail.com"
source ~/.profile
配置 DNS
以 Cloudflare 为例,您需要设置两个环境变量,以便 acme.sh 能够设置 DNS 记录。如果您使用的是其他 DNS 提供商,查阅 acme.sh 的 DNS API 文档来找到正确的设置方法。
复制
export CF_Key="MY_SECRET_KEY_SUCH_SECRET"
export CF_Email="myemail@example.com"
创建证书
接下来,为您的域名创建证书:
复制
cd /usr/local/share/acme.sh
export CERT_DOMAIN="your-domain.tld"
export CERT_DNS="dns_cf"
./acme.sh --issue --server letsencrypt --home . -d "$CERT_DOMAIN" --dns "$CERT_DNS"
部署证书
使用 Synology DSM deployhook 部署您的证书。这将替换默认的证书:
复制
cd /usr/local/share/acme.sh
export SYNO_Username='Admin_Username'
export SYNO_Password='Admin_Password!123'
export SYNO_Certificate=""
./acme.sh --deploy --home . -d "$CERT_DOMAIN" --deploy-hook synology_dsm
如果您的管理员账户启用了双因素验证,请确保获取 `SYNO_DID` 值并设置相应的环境变量。
配置证书自动续订
在 DSM 的“任务计划程序”中创建一个新任务,以便自动续订证书:
复制
# 续订证书
/usr/local/share/acme.sh/acme.sh --cron --home /usr/local/share/acme.sh/
修复环境
如果您的 acme.sh 环境在 DSM 升级后损坏,您可以通过以下命令修复:
复制
cd /usr/local/share/acme.sh
./acme.sh --force --upgrade --nocron --home /usr/local/share/acme.sh
或者,您可以手动添加以下内容到您的 `/root/.profile` 文件中:
复制
. "/usr/local/share/acme.sh/acme.sh.env"
通过以上步骤,您可以轻松地为您的 Synology NAS 配置 HTTPS 证书,提高您的数据安全性。acme.sh 提供了一个灵活且强大的方式来管理 SSL 证书,而不需要在路由器上开放端口,为您的网络安全添加了一层额外的保护。