Apache 限制并发连接数和下载速度 的配置,apache数和


From : http://www.onecho.com/2009-06-05/488.html

 

Lava 发布于 14:20:04  |  评论 (0)  |  阅读:599 次  

      昨天我们的一台服务器apache出现了问题,页面无法访问,过段时间要重启apache才能访问页面。查看了系统日志,没有发现被攻击的迹象,然后查看 了所有网站的日志,发现一个论坛的LOG 显示了大量了mp3下载,而且是同一IP不断刷新,我想这就是我们Apache当机的原因,随后关闭了此网站,apache 再也没有出现问题,所以问题应该就在这。

      下面就是如何解决这个问题了。因为这个论坛是提供音乐在线收听的,里面有大量的mp3文件,也就避免不了大量的下载链接,而我们之前也没有做任何限制(因 为这不是下载站,而且没有经验)。为此,我上网找了些资料,发现了两个很好的apache模块: mod_bw 和 mod_limitipconn ;分别是限速和限制IP连接数的模块。

      安装mod_bw 和 mod_limitipconn 都非常简单。

1、下载:

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

      wget http://bwmod.sourceforge.net/files/mod_bw-0.7.tgz

2.安装

#tar -zxvf mod_limitipconn-0.22.tar.gz
#cd mod_limitipconn-0.22
#vi Makefile
修改:apxs = “/usr/local/apache2/bin/apxs” # 这里是自己apache的apxs路径,加载模块

或者

#/usr/local/apache2/bin/apxs -i -c -a mod_limitipconn.c  来加载模块
#make
#make install

#tar -xvf mod_bw-0.7.tgz
#cd mod_bw
#/usr/local/apache2/bin/apxs -i -c -a /home/kenami/mod_bw/mod_bw.c

下面用vi打开apache 的配置文件 httpd.conf

发现了以下两行:

LoadModule limitipconn_module modules/mod_limitipconn.so
LoadModule bw_module          modules/mod_bw.so

说明这两个模块安装成功

以下在httpd.conf 配置这两个模块,我的配置如下:

<IfModule mod_limitipconn.c>
    <Location /home/bo@znche.com/attachments/month _*> #需要控制的路径
        MaxConnPerIP 3 #限制的线程数
        NoIPLimit index.htm #对此文件不做限制
    </Location>
</IfModule>

在论坛的虚拟主机配置文件下面加上:

    BandwidthModule On  
    ForceBandWidthModule On
    Bandwidth all 10000 #限速10K
    MinBandwidth all -1

测试了一下,一切正常,下载mp3的速度限制在10K一下,这样就再也不用担心大量的下载链接导致apache当机的问题了,当然以上方法不能阻止攻击。

原创文章如转载,请注明:转载自等待喝彩 [ http://www.onecho.com ]
本文链接地址:http://www.onecho.com/2009-06-05/488.html

相关内容

    暂无相关文章