节点js,express-rate-limiter无法正常工作

时间:2020-02-27 12:14:28

标签: node.js

我希望将POST个请求命中限制为每个用户会话每10秒5个请求。 我已经实施了快递限速器,但是我能够实现5个以上的请求。直到4-5秒,它将阻止请求。但是在那之后,我又能够满足更多请求。

下面是代码:

const ThrottleLimiter = require("express-rate-limit");
const limiter = ThrottleLimiter({
    windowMs: 10000,
    max: 5,
    headers: false,
    handler:(req,res,next)=>{
        res.status(HTTP.tooManyRequests.code).json(HTTP.tooManyRequests);
      }

  });
  app.post("/*", limiter);

1 个答案:

答案 0 :(得分:0)

express-rate-limit的工作原理如下:

如果您在第二秒1中提出了第一个请求
还有第二个6的第5个请求
那么它将阻止您发出更多请求,直到第二个11(您的第一个请求时间+ 10秒
秒16(您的上次请求时间+ 10秒)
但平均效果很好

相关问题