速率限制功能在 Nestjs 应用程序中不起作用

Sac*_*hah 2 rate-limiting node.js nestjs

我正在探索NestJS并且我正在尝试探索rate limit功能。

这是我的main.ts文件。

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as rateLimit from 'express-rate-limit';
async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
  app.use(
    rateLimit({
      windowMs: 60 * 1000, // 1 minutes
      max: 10, // limit each IP to 100 requests per windowMs
    }),
  );
}
bootstrap();
Run Code Online (Sandbox Code Playgroud)

我正在使用其官方网站作为参考

所需输出

  • 用户每分钟调用 API/访问应用程序的次数不应超过 10 次。

笔记:

  • 我用来jmeter测试 API 调用。

Jay*_*iel 5

您需要在调用之前设置rateLimit的使用app.listen()。一旦调用,app.listen()您就无法分配更多中间件用于服务器。