📌 前言
有在使用Synology NAS 的朋友,一定都會遇到 SSL 憑證管理的麻煩事。特別是當你同時擁有自訂頂級網域的 Wildcard 泛網域(如 *.yourdomain.com),又同時在使用Synology自帶的 DDNS (*.synology.me) 時,往往會因為驗證機制不同而需要維護多張憑證,如果又想使用Let's Encrypt的免費憑證,那麼每三個月就要手動更新一次。過去我是使用certbot指令,一次送出多個網域的憑證申請要求,如果是wildcard網域,就手工去DNS更新TXT類型的acme_challenge名稱,如果是單一網域,就直接在網站根目錄下 /.well-known/acme-challenge 手動新增acme挑戰的認證檔案,網域一多的話,真的非常麻煩。而且為了提升安全性,一直有聽說這些憑證管理單位未來將會強制要求憑證的更新時效縮短,如果一直還手工更新憑證,肯定是不可行的一件事,所以一直有想改成 acme.sh 自動更新的想法。
這篇文章將作為我自己的筆記:利用 acme.sh,在一張憑證上同時綁定 Wildcard 泛網域與多個單一子網域。並採用「混合驗證模式」(自訂wildcard網域走內建 DNS-01,Synology DDNS 走 HTTP-01 Webroot),最後透過 Python 發送 SMTP 憑證更新完成的通知信,實現完全極致的自動化! Read more




