어떻게express에서 단일 클라이언트의 요청 수를 제한합니까?

1828 단어 javascriptexpressnode
우리는 일부 고객들이 우리의 자원을 대량으로 사용하는 것을 제한해야 할 수도 있다.우리는 이 기능을 실현하기 위한 편리한 중간부품이 하나 있다. express-rate-limit 라고 한다.다음 코드 세션에서'max:100'은 시간당 100개의 요청만 있음을 나타낸다(windowMs:60*60*1000).클라이언트가 한 시간 안에 100개의 요청을 한 후에 요청을 시도하면 이 메시지를 보냅니다.
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
    max: 100,
    windowMs: 60 * 60 * 1000,
    message: 'Your hourly quota for an hour has been exhausted, 
    try again after some time !',
});

app.use('/api', limiter);
이 중간부품이 프로그램에 추가되면, 101번의 요청이/api로 시작하는 모든 단점에 도달하면 제한을 받을 수 있습니다.메시지 "한 시간 할당량이 다 떨어졌습니다. 잠시 후에 다시 시도하십시오!"를 응답으로 보냅니다.만약 당신이 이것이 유용하다고 생각한다면, "좋아"단추를 누르고 공유하세요.

좋은 웹페이지 즐겨찾기