Nginx限制用户下载文件速率
jopen
9年前
下载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