在现有的Node.js Express设置中集成速率限制-灵活,可以通过使用中间件来实现。以下是一种常见的实现方式:
npm install express-rate-limit
const express = require('express');
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
windowMs: 60 * 1000, // 1分钟
max: 10, // 最大请求数量
});
app.use(limiter);
const express = require('express');
const rateLimit = require('express-rate-limit');
const app = express();
const limiter = rateLimit({
windowMs: 60 * 1000, // 1分钟
max: 10, // 最大请求数量
});
app.use(limiter);
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
这样,每个IP地址在1分钟内最多只能发送10个请求。超过限制的请求将返回429 Too Many Requests错误。
此外,还可以根据具体需求进行更多的配置,例如:
message
:自定义错误消息。headers
:自定义响应头。skip
:跳过某些请求的限制。handler
:自定义处理程序。以上是在现有的Node.js Express设置中集成速率限制-灵活的方法。希望对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云