Cloudflare 部署说明
这一页重点解释 EdgeChat 为什么适合直接跑在 Cloudflare 上,以及这套部署方案是怎么降成本的。
Cloudflare 资源
- D1:持久化业务数据
- KV:会话存储
- R2:聊天附件和头像
- Durable Objects:实时 WebSocket 房间
- Static Assets:前端静态文件
- Cron Triggers:定时清理过期消息
成本优化点
- 静态资源交给 Cloudflare 托管,不再由 Worker 手动转发
run_worker_first只拦截/api/*和/files/*- 消息清理改成原生 Cron,避免每次请求都触发额外调度
- 文件接口返回缓存头,减少重复读取
- 首页初始化和后台概览都做了聚合接口
运行时配置
当前 wrangler.toml 中的关键配置如下:
toml
[assets]
directory = "./frontend/dist"
not_found_handling = "single-page-application"
run_worker_first = ["/api/*", "/files/*"]
[triggers]
crons = ["0 19 * * *"]安全边界
- 大部分接口都需要登录
/api/admin/*额外要求管理员权限- 当前
/files/:key默认是公开访问模式
