Synology DSM 申請 wildcard TLS 證書

發布於 2026-09-23 00:00 716 字 4 min read

丁丁 avatar

丁丁

隨意寫寫,筆記記錄,以免忘記,後悔莫及

acme #tls #synology 在 DSM 設定中,正常申請 TLS 證書只能使用明確的域名、開啟 80、443 port 才得以申請,如果中途有服務改變網址或者停用某服務導致原先證書中的 domain 無法訪問就會造成證書不能重新簽 (Renew) 這裡將透過 acme.sh 來申請 wildcard TLS 證書,並且設定自動 renew 讓 TLS 證書自動重新簽署 建立使用者...

#acme #tls #synology

前言

在 DSM 設定中,正常申請 TLS 證書只能使用明確的域名、開啟 80、443 port 才得以申請,如果中途有服務改變網址或者停用某服務導致原先證書中的 domain 無法訪問就會造成證書不能重新簽 (Renew)

這裡將透過 acme.sh 來申請 wildcard TLS 證書,並且設定自動 renew 讓 TLS 證書自動重新簽署

設定

建立使用者

首先要建立一個申請證書和部屬證書的使用者,使用者帳號密碼請自行設定及保存,使用者群組一定要有 administrators、http 兩個 group 權限

目錄權限僅留下 homes 可讀寫即可,其餘的可以設定為禁止存取,應用程式也是可以全部禁止存取

之後就可以到 終端機 & SNMP 暫時性啟用 SSH 功能

下載 acme.sh

使用 SSH 連線到 NAS 之後下載 acme.sh acme.sh 的 zip Release 發布連結在此,請自行複製 .zip 的下載連結

如果是使用非前一個步驟建立的使用者登入 SSH 的話要使用 su 命令切換至該使用者 sudo su {username} 這時候會要求你輸入你 "現在" 帳號的密碼,輸入正確後就會切換至 {username} 這個使用者了

進入到家目錄

cd ~

下載 acme.sh

wget -O ~/acme.zip https://github.com/acmesh-official/acme.sh/archive/master.zip

解壓縮

7z x -o~/ ~/acme.zip
mv ~/acme.sh-master/ ~/acme

接著看你的 DNS 是哪家,這邊使用 Cloudflare 作為示範,詳細的 DNS 需要提供什麼 Key 請看官方 wiki: dnsapi

設定相關變數

SYNO_PORT 預設是 5000,如果有修改 DSM 的 http、https port 這個值就要修改

export CF_Token="{ api token }"
export CF_Account_ID="{ account id }"
export SYNO_USERNAME=" {第一步驟建立的使用者帳號} "  
export SYNO_PASSWORD=" {第一步驟建立的使用者密碼} " 
export SYNO_CERTIFICATE="Let's Encrypt"  
export SYNO_CREATE=1
export SYNO_PORT="5000"

建立存放證書的資料夾

mkdir ~/certs

接著申請證書

./acme/acme.sh --server letsencrypt --issue --dns dns_cf -d example.com -d '*.example.com' --home $PWD/certs --dnssleep 100

增加 --dnssleep 100 用意是讓 DNS 有時間可以廣播,讓 acme.sh 等待 100 秒後再向 DNS provider 驗證,時間可以自行修改,不建議修改太短

如果確定申請成功後就可以執行部屬

./acme/acme.sh -d "example.com" --deploy --deploy-hook synology_dsm --home $PWD/certs

當部屬完成後就會在 DSM 的憑證看到這張憑證

接下來? Renew

到 任務排程表 建立一個排程

使用者帳號使用前面建立的使用者,任務名稱自行設定

就讓這個腳本每天執行,當不需要 renew 的話就會自己跳過

在 使用者定義指令碼 輸入以下內容

/volume1/homes/{username}/acme/acme.sh --renew -d "example.com" --home /volume1/homes/{username}/certs --server letsencrypt

可以在 SSH 執行一次命令看能不能正常運作

© 2010 - 2026 丁丁 @ThanatosDi
Powered by theme astro-koharu · Inspired by Shoka