最近在弄下载服务器,本身也是一台小水管的机器,本着不可能开放服务器全部带宽。主要是怕被人盯上拼命拖数据,导致大部分流量流失,毕竟还有还跑其他应用。
Nginx提供了limit_rate
和limit_rate_after
,来进行会话的并发连接数控制。也就说Nginx可以限制同一个IP的下载速度和访问并发数限制。
图片限制
对于一些小带宽的服务器,可以限制大图延迟加载,小图直接显示不受限制。把正常的图片的大小限定为100K以内,超过就进行限速,速度限定为100K/s
在Nginx的配置文件添加限定图片访问的配置
location ~ .*\.(gif|jpg|jpeg|png|bmp)$ { expires 30d; limit_rate_after 100k; limit_rate 100k;}
这配置的意思是 expires 30d;
就是在浏览器上面缓存30天,访问时可以不经过Nginx来进行拉取图片,直接在浏览器缓存中拉取。limit_rate_after 100k;
`limit_rate 100k;` 意思就是当图片加载到100K以后进行限速,最高100K/s
下载文件目录限制
文件目录/download
下的文件进行限速,用户下载达到 500k 后,便控制其速度在 50k/s 以内。
location /download/ { limit_rate_after 500k; limit_rate 50k;}