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
}