Rate Limiter 部署指南¶
(本页面为 tools/rag-worker/docs/RATE_LIMITER_DEPLOYMENT.md 的站点版本,包含部署、KV 绑定与验证示例)
概述¶
RAG Worker 的会话累积成本限流系统用于防止低频持续攻击。该系统基于会话、IP 地址和指纹的多维度识别,在指定时间窗口内追踪累计调用次数,超过阈值后强制冷却。
部署步骤(摘要)¶
-
创建 KV Namespace:
```bash wrangler kv:namespace create "RATE_LIMIT_KV" ``` -
在
wrangler.toml添加 KV 绑定:```toml [[kv_namespaces]] binding = "RATE_LIMIT_KV" id = "YOUR_ACTUAL_KV_NAMESPACE_ID" preview_id = "YOUR_PREVIEW_KV_NAMESPACE_ID" # 可选 ``` -
(可选)在
[vars]中配置限流参数:```toml [vars] RATE_LIMIT_ENABLED = "true" RATE_LIMIT_WINDOW_MS = "3600000" RATE_LIMIT_MAX_REQUESTS = "20" RATE_LIMIT_COOLDOWN_MS = "900000" ``` -
部署并验证:
```bash npm run deploy # 运行测试脚本触发限流 ./test-rate-limit.sh ```
验证脚本示例¶
见 tools/rag-worker/docs/RATE_LIMITER_DEPLOYMENT.md 中的完整验证脚本(已复制到站点文档目录)。
实现提醒¶
- 限流中间件位于
tools/rag-worker/src/middleware/rate-limiter.ts,确保tools/rag-worker/src/worker.ts已导入checkRateLimit并将RATE_LIMIT_KV绑定传入环境。