限制nginx下载大于10M文件速度的方案
要实现nginx大于10M文件下载限速,可以使用`limit_rate`指令。首先,在`http`或`server`块中设置`client_max_body_size`为10M,然后在`location`块中使用`limit_rate`指令限制下载速度。例如,将下载速度限制为1M/s,可以这样配置: ``` http { client_max_body_size 10M; } server { listen 80; location /download/ { limit_rate 1M; } } ``` 这样,当用户访问`/download/`路径下的大于10M的文件时,下载速度将被限制为1M/s。
一、限制向客户端传输响应的速率
句法: limit_rate rate;
默认: limit_rate 0;
内容: http,server,location,if in location
限制向客户端传输响应的速率。在rate被以每秒字节数指定。零值禁用速率限制。该限制是根据请求设置的,因此,如果客户端同时打开两个连接,则总速率将是指定限制的两倍
二、超过设置大小,限制对客户端的响应的进一步传输
句法: limit_rate_after size;
默认: limit_rate_after 0;
内容: http,server,location,if in location
该指令出现在版本0.8.0中。
三、配置nginx主配置文件
1)配置nginx文件
location/autoindex{limit_rate_after10M;#最初允许访问大小为10M,超出10M后开始限速limit_rate200k;#限速下载大小200k每秒root/usr/share/nginx/html;#访问http://域名/autoindex跳转到/usr/share/nginx/html/autoindex目录下}
2)、检查nginx、重启nginx
nginx-t&&nginx-sreload
3)、制作一个1G大小的文件
ddif=/dev/zeroof=/usr/share/nginx/html/autoindex/1Gbs=10Mcount=100
4)、访问下载测试
#晚上做的测试实验有问题,不知道是百度云的问题还是网速问题, 没法很展现效果。 就拿以前测试的图片展现了
总结:大于10M的时候下载限速,你观察会发现下载速度是小于200K
相关专题