NGINX限制下载文件速度

服务器技术 2020-06-15 16:55:13 25

导读

Nginx要限制连接,必须先有一个容器对连接进行计数,在http段加入如下代码:“zone=”给它一个名字,可以随便叫,这个名字要跟下面的limit_conn一致$binary_remote_addr=用二进制来储存客户端的地址,1m可以储存32000个并发会话…省掉N字详情请看http://nginx.org/en/docs/ht……

Nginx要限制连接,必须先有一个容器对连接进行计数,在http段加入如下代码:

“zone=” 给它一个名字,可以随便叫,这个名字要跟下面的 limit_conn 一致

$binary_remote_addr = 用二进制来储存客户端的地址,1m 可以储存 32000 个并发会话

… 省掉 N 字

详情请看http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html

vi /etc/nginx/nginx.conf

在http{ 下面添加

limit_conn_zone $binary_remote_addr zone=addr:10m; 
limit_conn_zone $server_name zone=perserver:10m;

再编辑网站的nginx配置文件,如:

vi /etc/nginx/conf.d/123.com.conf

在对应的 location / {下添加

limit_conn perserver 200;   
limit_conn addr 10; 
limit_rate_after 1M; 
limit_rate 256k;

limit_conn perserver 200; 限制当前站点最大并发数 200

limit_conn addr 10;  限制单个IP访问最大并发数

limit_rate_after 1M; 1M以后开始限速

limit_rate 256k;   限制每个请求的流量上限(单位:KB)

注意: 这里表示每个IP最大10线程,每个线程最高256kb/s, 如果用户使用10线程下载, 那么最大256KB*10= 2.5MB/s

如图

重启nginx

service nginx restart

或者无需重启加载配置

service nginx reload


1253067 TFnetwork_cn