fix(ratelimit): 全局限流改为优先按用户分桶并按 1200/分放宽,避免反代未透传 XFF 时全站误伤

这个提交包含在:
xcbyy
2026-10-19 13:51:27 +08:00
父节点 25d8474877
当前提交 0752acda40
共有 2 个文件被更改,包括 9 次插入 和 3 次删除

查看文件

@@ -109,8 +109,9 @@ function rateLimit(opts: { name: string; windowMs: number; max: number; key?: (r
};
}
// 全局限流(宽松,主要抵御暴力刷接口/爬取)
app.use('/api', rateLimit({ name: 'global', windowMs: 60 * 1000, max: 600 }));
// 全局限流(宽松,主要抵御暴力刷接口/爬取)。优先按登录用户分桶,未登录退化到 IP,
// 避免反向代理未透传 X-Forwarded-For 时全站用户共用同一 IP 桶被误伤。
app.use('/api', rateLimit({ name: 'global', windowMs: 60 * 1000, max: 1200, key: rateWriteKey }));
// 写接口限流键:优先按登录用户,未登录退化到 IP
function rateWriteKey(req: Request): string {