Emdash CMS 的 Cloudflare Free 方案限制 FAQ

Free 方案仍可用什麼、不可用哪些能力,以及如何在不使用付費 Dynamic Workers 功能下安全部署 Emdash CMS。

Cloudflare Free 方案在 Emdash CMS 裡限制了什麼?

核心 CMS 工作流程仍可使用,但沙箱化外掛執行不可用。
實務上:內容管理與一般網站部署可用;依賴 Dynamic Workers 的外掛隔離不可用。

設定裡應該保留 worker_loaders 嗎?

不應該。在 Free 方案請移除。
保留它常導致部署或執行失敗,因為它依賴付費能力。

還能在 Free 方案上線正式環境嗎?

可以,但要劃清界線:

  • 適合內容站、文件站與行銷站
  • 若核心流程依賴第三方沙箱外掛則不適合

若沙箱執行並非關鍵路徑,通常 Free 足以起步。

Free 方案上如何安全使用外掛?

採用「可信外掛」政策:

  • 僅啟用所有權可稽核的外掛
  • 上線前審查相依與權限
  • 將高風險整合邏輯放到隔離的後端服務

Free 不是「不能用外掛」,而是「不能為不可信外掛提供隔離執行環境」。

為什麼部署成功,外掛功能卻仍失敗?

因為「可部署」與「具備沙箱能力」是不同需求。
基礎 Worker 執行環境支援部署;Dynamic Workers 才支援隔離的外掛執行。

何時應認真評估付費方案?

若以下任一成立,應考慮升級:

  • 需要執行來源僅部分可信的外掛
  • 法遵要求提供外掛層級的隔離證據
  • 無法承受外掛權限濫用的業務影響

若尚不適用,在 Free 上穩定運作是合理策略。

Free 方案最小上線前檢查清單

上線前確認:

  1. 已移除 worker_loaders
  2. D1/R2 繫結名稱一致。
  3. 外掛清單中沒有必須依賴沙箱的項目。
  4. 發布後驗證涵蓋內容讀寫與媒體上傳。

這四項比過早上調方案更能降低真實事故風險。

Free 方案設定範例

{
  "d1_databases": [{ "binding": "DB", "database_name": "your-db", "database_id": "..." }],
  "r2_buckets": [{ "binding": "MEDIA", "bucket_name": "your-media-bucket" }]
  // Free 方案請勿使用 worker_loaders
}