自動更新 Linode Object Storage SSL/TLS憑證

前一篇文章,我們了解了如何自訂Linode Object Storage的網域,但因Object Storage需要自己手動上傳SSL憑證,且Let’s Encrypt的憑證90天會到期,因此每到即將過期的時間,勢必就得再手動更新一次。因此,這篇就要繼續來了解,如何自動更新憑證。

首先,我們上次安裝的certbot,會自動排程更新憑證,確保憑證不會過期。而我們要做的就是,將certbot更新後的 fullchain.pem 與 private.pem 透過Linode的API重新上傳到Linode。

於是,我寫了一個nodejs的小工具,來專門處理這件事情。在開始之前,先用 node -v 確認一下是否有安裝 nodejs 並且版本 > 16.20。

  1. 請在之前的教學中,安裝了certbot的那台機器中 clone我的這個repo,執行:git clone git@github.com:boggyjan/linode-object-storage-cert-updater.git
  2. 接著進入linode-object-storage-cert-updater目錄,執行:npm i,安裝相依套件
  3. 複製兩個sample config成為真正的config:
    • 執行:cp pm2.config.cjs.sample pm2.config.cjs
    • 執行:cp updater.config.js.sample updater.config.js
  4. 修改 updater.config.js
    • 填入Linode API Token,可到這裡新增
    • 在certs陣列裡修改成你的 region, bucket名稱,以及這台機器中存放憑證的地方 certPath
    • 範例中為兩個bucket,可視需求新增或移除
  5. 啟動自動更新,因需讀取etc目錄中的檔案需root權限,請用root身份執行pm2:
    • sudo su root
    • pm2 start pm2.config.cjs
  6. 設定開機就執行:pm2 startup && pm2 save

在〈自動更新 Linode Object Storage SSL/TLS憑證〉中有 1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料