acme.sh 自動申請與更新 Let’s Encrypt SSL 免費憑證教學
下載並安裝 acme.sh
建議先更新 Ubuntu 套件
sudo apt update && sudo apt upgrade -y
記得提升 root 權限, 我透過 curl 下載, 後面的 [email protected] 請改成自己的信箱
curl https://get.acme.sh | sh -s email=user@gmail.com
[Mon Dec 30 02:37:17 PM CST 2024] Installing to /root/.acme.sh
[Mon Dec 30 02:37:17 PM CST 2024] Installed to /root/.acme.sh/acme.sh
[Mon Dec 30 02:37:17 PM CST 2024] Installing alias to ‘/root/.bashrc’
[Mon Dec 30 02:37:17 PM CST 2024] Close and reopen your terminal to start using acme.sh
[Mon Dec 30 02:37:17 PM CST 2024] Installing cron job
檢查版本
./acme.sh -v

設定預設CA, 我指定為 Letsencrypt
./acme.sh --set-default-ca --server letsencrypt
申請憑證, 我透過 DNS 驗證方式來申請
acme.sh --issue -d list.mydomain.ltd --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

上面產生的資料要在網域管理的地方, 新增 TXT record, 把 value 填進去對應的網域名稱.
取得憑證
./acme.sh --renew -d list.mydomain.ltd --yes-I-know-dns-manual-mode-enough-go-ahead-please

產生出的憑證跟Key都會放在上面的路徑裡, 接著把憑證把在服務上就可以用了
補充 acme.sh 有在 cronjob 新增一個排程
crontab -l
