프로그래밍/NodeJS
13.[사용량 제한] express-rate-limit 라이브러리로 사용량 제한걸기
캡틴.JS
2020. 10. 21. 21:13
반응형
무분별한 api 호출을 제한하기 위해 express-rate-limit 라이브러리를 설치해보자
npm i express-rate-limit
RateLimit 미들웨어를 라우터에 넣으면 라우터에 사용량 제한걸림.
const jwt = require('jsonwebtoken');
const RateLimit = require('express-rate-limit');
exports.apiLimiter = new RateLimit({
windowMs: 60 * 1000, // 기준시간
max: 1, //허용횟수
delayMs: 0, //호출간격
//제한 초과시 콜백함수
handler(req, res) {
res.status(this.statusCode).json({
code: this.statusCode, // 기본값 429
message: '1분에 한 번만 요청할 수 있습니다.',
});
},
});
exports.deprecated = (req, res) => {
res.status(410).json({
code: 410,
message: '새로운 버전이 나왔습니다. 새로운 버전을 사용하세요.',
});
};
미들웨어에 만들어줬으므로, 사용하고자 하는 라우터에서 인자값으로 넣어서 사용한다.
참고자료: Node.js 교과서 - 제로초
반응형