使用 acme.sh 的 Synology NAS 的 HTTPS 证书

https://github.com/acmesh-official/acme.sh/wiki/Synology-NAS-Guide

https://github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_dp

https://github.com/acmesh-official/acme.sh/wiki/deployhooks#20-deploy-the-certificate-to-synology-dsm

安装 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/
./acme.sh --install --nocron --home /usr/local/share/acme.sh --accountemail "email@gmail.com"
source ~/.profile

 配置 DNS---dnspodcn

export DP_Id="<id>"
export DP_Key="<key>"

DP_Id 和 DP_Key 将保存在 ~/.acme.sh/account.conf 中,并在需要时重复使用。

 创建证书


cd /usr/local/share/acme.sh
export CERT_DOMAIN="your-domain.tld"
export CERT_DNS="dns_dp"
./acme.sh --issue --server letsencrypt --home . -d "$CERT_DOMAIN" --dns "$CERT_DNS" --keylength 2048

部署默认证书

- export SYNO_SCHEME="http"         - defaults to "http"
- export SYNO_HOSTNAME="localhost"  - defaults to "localhost"
- export SYNO_PORT="5000"           - defaults to "5000"
- export SYNO_CREATE=1 - to allow creating the cert if it doesn't exist
- export SYNO_CERTIFICATE="" - to replace a specific cert by its description

(推荐)通过执行 export SYNO_USE_TEMP_ADMIN=1 来使用自动创建的临时管理员用户。这样,您无需提供任何管理员凭据,部署脚本本身将利用 Synology 内置实用程序完成身份验证,因此它设计为仅支持本地部署,不能用于在 docker 中部署或远程部署。

执行命令 acme.sh --deploy --deploy-hook synology_dsm -d example.com 将 example.com 的证书部署到 DSM。