有没有一种方法可以在expressnodejs中为每个API键使用不同的速率限制?例如API关键字“guest”具有每天500个请求的速率限制,而API关键字“key”具有每天1000个请求的速率限制。
nmpmafwu1#
简单的解决方案是使用一个名为express-rate-limit的npm包,这是一个流行的包,强烈推荐使用它。如果这个包对你不起作用,可以用redis实现,redis是内存数据库,你可以创建一个滑动时间的记录。当请求进来时,您可以更新或创建记录,如果达到限制,则阻止请求,该逻辑可以在中间件中实现。
1条答案
按热度按时间nmpmafwu1#
简单的解决方案是使用一个名为express-rate-limit的npm包,这是一个流行的包,强烈推荐使用它。
如果这个包对你不起作用,可以用redis实现,redis是内存数据库,你可以创建一个滑动时间的记录。当请求进来时,您可以更新或创建记录,如果达到限制,则阻止请求,该逻辑可以在中间件中实现。