Nginx 限制并发访问速率流量,配置还是简单的,看下Nginx文档根据文中这三个模块对照看一下就可以,Nginx限速使用的是漏桶算法(感兴趣可以看下文末的参考资料),需要注意的是:当需要进行限速操作时,需要 limit_rate 和 limit_conn 模块联合起来使用才能达到限速的效果。以下三个功能都是 Nginx 编译后就有的功能,属于内置模块。
01. limit_conn_zone 模块 - 限制同一 IP 地址并发连接数;
02. limit_request 模块 - 限制同一 IP 某段时间的访问量;
03. core 模块提供 - limit_rate 限制同一 IP 流量;
配置模版:
limit_conn_zone $binary_remote_addr zone=one:10m;
限制同一用户 IP 地址的并发连接数,和下载速度;
location / { limit_conn one 2; limit_rate_after 0m; limit_rate 256k; mp4; mp4_buffer_size 1m; mp4_max_buffer_size 5m; }
参考资料:
https://www.cnblogs.com/CarpenterLee/p/8084533.html
https://www.cnblogs.com/hukey/p/10498544.html