• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

nestjs throttler

22.10.13 00:06 작성 조회수 589

0

안녕하세요 현재 throttler를 이용해서 api 요청제한을 구현 중입니다.

throtter 설정은 공식 문서를 보고 설정을 했는데

@Throttle(3, 60) @Get() findAll() { return "List users works with custom rate limiting."; }

클라이언트별로 요청 제한 기능을 구현하려는데 구글링 실력이 부족해서 찾지 못하였습니다.
요청은 5회로 시간은 1분으로 했을 때
사용자1 이 요청 5회를 해서 api가 block 되었을 때
사용자2 까지 해당 api요청이 안되는 이슈가 있습니다.
비로그인 사용자들이라 ip주소를 이용해서 식별해야할 것 같고 redis에 이정보를 담아 ttl 설정을 하면 될 것같은데 throttler에 적용 시키는 방향을 잘 못 잡겠습니다. 강의랑 별개의 내용인 점 죄송합니다.
참고한 공식 문서입니다. https://docs.nestjs.com/security/rate-limiting


답변 1

답변을 작성해보세요.

0

ip로 구분이 기본적으로 되는 것 같은데 혹시 사용자1과 2가 같은 아이피는 아니었나요?? throttlerStorage와 throttlerGuard 부분에 해당 코드가 있습니다.