Apache防止多线程下载

08月 15th, 2007

mod_limitipconn.c是一个非官方的apache模块,可以用来作为WEB文件的下载限制
,但是它是使用ExtendedStatus On形式,工作在应用层。当同一个IP的连接到达
限制的时候,apache对get请求发送:

HTTP/1.1 503 Service Temporarily Unavailable

从而使用户不能下载,但并不能阻止这种攻击,仍旧允许连接的。不过这个东东对
网管来说还是很有用的,特别是下载站的网管。简单介绍一下安装(动态模块方式
安装,假设你的apache已经装在/usr/local/httpd目录下):

从http://dominia.org/djao/limitipconn2.html获得最新的limitipconn源代码

 安装方法如下:

#wget http://dominia.org/djao/limit/mod_limitipconn-0.22.tar.gz
#tar -xzvf mod_limitipconn-0.22.tar.gz
#cd mod_limitipconn-0.22
#vi Makefile

修改第一行:

APXS= apxs

改为

APXS= /usr/local/httpd/bin/apxs

#make
#make install

修改apache配置文件:

vi /usr/local/httpd/conf/httpd.conf

把ExtendedStatus On选项打开(服务器必须支持status_module模块)

<Location />
MaxConnPerIP 3 ###限制web根目录同一个IP只能同时开3进程下载

# NoIPLimit image/*
# OnlyIPLimit audio/mpeg video 
</Location>

重启apache服务器



发表回复