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

本文介绍了一次Apache服务器因单一IP大量下载MP3文件而导致过载的情况,并通过安装及配置mod_bw和mod_limitipconn两个模块来限制下载速度及连接数,最终解决了服务器频繁崩溃的问题。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值