Apache如何防止多线程下载和带宽限制



Apache如何防止多线程下载和带宽限制?要做一台http下载服务器,连接限制是非常必要的,尤其是限制多线程下载。

主要是给apache增加两个模块: 1. mod_limitipconn 2. bw_mod

1. 下载两个模块:

#wget http://dominia.org/djao/limit/mod_limitipconn-0.22.tar.gz

#wget http://www.ivn.cl/files/source/bw_mod-0.6.tgz

2. 解压缩,然后使用apxs命令编译安装两个模块

#/usr/sbin/apxs –c –i – a mod_limitipconn.c

#/usr/sbin/apxs -c -i -a bw_mod-0.6.c

【注】

a. 如果是使用的系统默认的apache,有可能没有安装httpd-devel包,就没有apxs命令


从安装盘上拷贝httpd-devel的rpm包,然后安装之,即可

b. 安装这两个模块也可以Makefile文件,确保Makefile文件中APXS=指向正确的apxs文件。

然后输入:make install 来安装,自己去google一下吧

3. 修改httpd.conf

对于 mod_limitipconn 模块

去掉ExtendedStatus On前的注释,增加几行:

<IfModule mod_limitipconn.c>
<location /> #对根目录做限制
MaxConnPerIp 5 #最多一个IP5个连接
</location>
<location /abc> #对abc目录做限制,最多一个IP3个连接
MaxConnPerIP 3
# NoIPLimit image/*
</location>
</IfModule>

对于 bw_mod

BandWidthModule On #启用bw_mod
BandWidth all 102400 #最高为为100kB
MinBandWidth all 51200 #最低为50KB
MaxConnection all 3 #所有客户端最多3个连接
LargeFileLimit .rar 30 23000 #限制所有大于30K的后缀名为.rar的文件的速率为23000字节/秒,即23K/秒