Nginx限制用户下载文件速率

jopen 5年前

下载www.linuxom.com/download/movie.avi 文件,默认情况下,很快就可以下载完成

# time wget http://42.51.137.195/download/movie.avi    --2013-04-05 02:42:39--  http://42.51.137.195/download/movie.avi    正在连接 42.51.137.195:80... 已连接。    已发出 HTTP 请求,正在等待回应... 200 OK    长度:40817431 (39M) [video/x-msvideo]    正在保存至: “movie.avi.1”    100%[======================================>] 40,817,431   116M/s   in 0.3s    2013-04-05 02:42:40 (116 MB/s) - 已保存 “movie.avi.1” [40817431/40817431])    real    0m0.342s    user    0m0.021s    sys     0m0.180s


修改nginx.conf文件,限制下载速度为128kb/s

location /download {        limit_rate 128k;    }


重新加载配置文件

/usr/local/nginx/sbin/nginx -s reload


再次下载www.linuxom.com/download/movie.avi 文件

# time wget http://42.51.137.195/download/movie.avi    --2013-04-05 02:51:28--  http://42.51.137.195/download/movie.avi    正在连接 42.51.137.195:80... 已连接。    已发出 HTTP 请求,正在等待回应... 200 OK    长度:40817431 (39M) [video/x-msvideo]    正在保存至: “movie.avi.5”  3% [===>                                      ] 1,572,864    526K/s           #########################省略部分内容########################  real    0m1.332s  user    0m0.009s  sys     0m0.011s


发现限速成功。

如果想设置用户下载文件的前10m大小时不限速,大于10m后再以128kb/s限速可以增加以下配内容,修改nginx.conf文件

location /download {        limit_rate_after 10m;        limit_rate 128k;    }


重新加载配置文件

/usr/local/nginx/sbin/nginx -s reload


 再次下载www.linuxom.com/download/movie.avi 文件

# time wget http://42.51.137.195/download/movie.avi    --2013-04-05 02:55:33--  http://42.51.137.195/download/movie.avi    正在连接 42.51.137.195:80... 已连接。    已发出 HTTP 请求,正在等待回应... 200 OK    长度:40817431 (39M) [video/x-msvideo]    正在保存至: “movie.avi.8”    26% [=================================>] 11,026,432  9.62M/s       ######################省略部分内容###########################    real    0m57.149s    user    0m0.013s    sys     0m0.212s


发现前10m左右,约为文件的26%时,文件下载不限速,随后开始限速。

来自:http://my.oschina.net/gaga/blog/495444