【文件属性】:
文件名称:ip-rate-limiter
文件大小:8KB
文件格式:ZIP
更新时间:2021-02-12 22:14:06
JavaScript
IP速率限制器
实作一IP限速器机制之快服务器
要求
限制每分钟来自同一个一个IP的请求数量不得超过60
在首页显示目前的请求量,超过限制的话则显示“错误”,例如在一分钟内第30个请求则显示30,第61个请求则显示错误
快速开始
安装
$ npm install
配置
# setup env variable (redis info & rate limit info)
$ vim .env
PORT=3000
REDIS_HOST="127.0.0.1"
REDIS_PORT=6379
REDIS_PWD=""
RATE_LIMITER_WINDOW_SEC=60
RATE_LIMITER_COUNT=60
运行服务器
$ npm start
运行测试
$ npm test
基本用法
const result = require('dotenv').config();
const Exp
【文件预览】:
ip-rate-limiter-master
----service()
--------redisClient.js(222B)
----.env(112B)
----route()
--------index.js(597B)
--------api.js(173B)
----middleware()
--------rateLimiter.js(816B)
----app.js(753B)
----util()
--------getReqIP.js(148B)
----config()
--------config.js(183B)
--------db.js(196B)
----test()
--------middleware.test.js(3KB)
--------util.test.js(793B)
----README.md(2KB)
----.gitignore(410B)
----package.json(530B)