TypechoJoeTheme

Jim Tse

【ACME】群晖NAS使用ACME生成并部署SSL证书

本文最后更新于2024年08月08日,已超过41天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

在开始之前,确保您有以下条件:

  • 拥有一个域名,并且可以控制其 DNS 记录。
  • 对您的 Synology NAS 有管理员权限。
  • SSH 访问权限

安装 acme.sh

sudo su
cd ~
wget https://github.com/acmesh-official/acme.sh/archive/master.tar.gz
tar xvf master.tar.gz
cd acme.sh-master/
sudo ./acme.sh --install --nocron --home /usr/local/share/acme.sh --accountemail "example@gmail.com"
sudo -i
source ~/.profile

配置 DNS

以 Cloudflare 为例,您需要设置两个环境变量,以便 acme.sh 能够设置 DNS 记录。如果您使用的是其他 DNS 提供商,查阅 acme.sh 的 DNS API 文档来找到正确的设置方法。

export CF_Key="xxxxx"
export CF_Email="example@gmail.com"

创建证书

接下来,为您的域名创建证书:

cd /usr/local/share/acme.sh
export CERT_DOMAIN="***.com"
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='xxxx'
export SYNO_Password='****'
export SYNO_DID='账号开启2FA时必须参数,请在浏览器登录群晖后使用F12打开开发者工具,点击application标签下的cookies获取'
export SYNO_Certificate=""
./acme.sh --deploy --home . -d "$CERT_DOMAIN" --deploy-hook synology_dsm

配置证书自动续订

在 DSM 的“任务计划程序”中创建一个新任务,以便自动续订证书:(选择root用户运行)

/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 证书,而不需要在路由器上开放端口,为您的网络安全添加了一层额外的保护。

赞(0)
版权属于:

Jim Tse

本文链接:

https://jimtse.eu.org:88/Linux/synology-acme-gen-ssl.html(转载时请注明本文出处及文章链接)

评论 (0)