Synology NAS 上本身就有支援線上申請 SSL For Free 的功能,
但若遇到無法申請成功,需手動認證的,會需要調整一些設定
在手動證認時會需要 使用到 /.well-known/acme-challenge 這個目錄來放置認證檔.
但 在 synology 預設的 nginx service 內, 強制將所有 web server 的 /.well-known/acme-challenge 導到 /var/lib/letsencrypt 內.
cd /etc/nginx/ cat nginx.config
在設定檔內會發現 :
location ^~ /.well-known/acme-challenge { root /var/lib/letsencrypt; default_type text/plain; }
解決方式 :
1.確認 /var/lib/letsencrypt/ 是否己存在,不存在就新增 mkdir /var/lib/letsencrypt/
2.建立一個可以透過 DSM 上傳檔案的資料夾,將 /var/lib/letsencrypt 利用 ln 連結到該資料夾.
ex : 在 /volume1/web/ 建立一個 SSLForFree 的資料夾,並新增 .well-known 子資料夾
3.連結
ln -s /volume1/web/SSLForFree/.well-known/ /var/lib/letsencrypt/.well-known
之後只需將認證檔上傳到 SSLForFree 內對應的資料夾即可.
參考資料 : https://cleanshadow.blogspot.com/2017/01/ssl.html