Back-end/Server

[Server] node.js express-rate-limit 적용하기

zzangw00

express-rate-limit 적용하기

검색 기능을 만들던 중 사용자가 api를 갑자기 엄청나게 많이 요청하거나 누군가의 DOS공격이 들어올 수도 있다는 생각이 들었다.

누군가 1초에 수천만번 api를 요청하게 되면 서버가 마비될게 분명했다.

그래서 방법을 찾아본 결과 백엔드에서 레이트리미팅 방법을 찾게 되었다. node.js 에서는 express-rate-limit 모듈을 통해 레이트리미팅을 한다.

 

1. npm install express-rate-limit

npm install express-rate-limit을 통해 모듈을 깔아준다.

2. 미들웨어 작성

express-rate-limit모듈을 사용하기 위해 미들웨어를 작성해준다.

3. API에 미들웨어 적용

route에서 apiLimiter라는 미들웨어를 걸어준다

4. 실제 적용화면

설정한대로 1분에 10번이상 요청이 들어오게 되면 api요청이 막힌다.