/etc/nginx/limit/white_list:白名单,key-value形式,支持掩码网段

#test

192.168.50.42 0;

192.168.50.0/24 0;

/etc/nginx/limit/limit_zone:

geo $whitelist {

default 1; # 不匹配白名单的都标记为1 参考2

include limit/white_list;

}

map $whitelist $limit {

1 $binary_remote_addr; # 1 保留源IP 参考3

0 ''; # 0 空 代表不作限制处理

}

limit_req_zone $limit zone=Limit123:32768 rate=2r/s; # 最小为1024*32=32768,再小就报错,参考4

/etc/nginx/limit/limit_req:

limit_req zone=Limit123 burst=5 nodelay;

limit_req_status 567;

#burst漏桶原理(参考5),以一定的速度出水(接口有响应速率),当水流入速度过大会直接溢出(访问频率超过接口响应速率),然后就拒绝请求,可以看出漏桶算法能强行限制数据的传输速率.

压测并tailf日志:

ab -n 50 -c 5 -k http://www.test.com

参考资料:

1 https://blog.csdn.net/weixin_38628533/article/details/80469712

2 https://www.cnblogs.com/kevingrace/p/6165572.html

3 https://www.cnblogs.com/zhengchunyuan/p/7410348.html

4 http://www.ttlsa.com/nginx/nginx-limiting-the-number-of-requests-ngx_http_limit_req_module-module/

5 https://www.cnblogs.com/codingmode/p/11872055.html

最新文章

  1. B树算法与实现 (C语言实现)
  2. 树莓派文档翻译 - 使用 - GPIO: 树莓派A和B
  3. Tasks.Parallel
  4. nslayoutConstraint
  5. 21.allegro下鼠标形状设置[原创]
  6. Java JPushV3服务端
  7. Newtonsoft.Json.dll序列化为json,null值自动过滤
  8. HDU 3635 并查集+路径压缩+记录每个点移动次数
  9. ThinkPad x200为何总是CPU占用50%
  10. eclipse怎么连接到MySQL中的表!!!!!
  11. Boost.Hana在visual studio 2017 rc中的残缺使用
  12. touchstart和touchend事件
  13. spring cloud config配置记录
  14. python 反射、md5加密
  15. 19+ JavaScript 常用的简写技巧
  16. HDU小小练
  17. QT QQuickView嵌入到QT MDI中
  18. Day2作业及默写
  19. Karma - MVC Framework for Unity3D
  20. 【转】Castle Windsor之组件注册

热门文章

  1. mapboxgl 纠偏百度地图
  2. Java并发编程实战——读后感
  3. hexo访问优化之--------gulp压缩
  4. 前段--->js
  5. 洛谷3163 CQOI2014危桥 (最大流)
  6. SoapUI入门实例
  7. Kubernetes List-Watch 机制原理与实现 - chunked
  8. Java(17)面向对象之多态
  9. 安装早期老版本 Visual Studio
  10. Linux常用命令,查看树形结构、删除目录(文件夹)、创建文件、删除文件或目录、复制文件或目录(文件夹)、移动、查看文件内容、权限操作