最后,只要重新启动Apache服务,并发连接数的限制就可以生效。
配置实例:
apache服务器开通后,在宿舍内进行了一次DOS攻击演习
过程是:同学编写一个http请求的程序,每秒向我进行100次http请求
结果导致我的机器性能受到严重影响,CPU资源耗费巨大,并且其他用户很难登陆
明白了apache每个IP并发连接数控制的重要性
google后的结果有写很好的帖子
但和自己配置的又有些区别
只使用了一个模块Bandwidth Module
下载地址
安装
apxs -i -a -c bw_mod-0.6.c
or
apxs2 -i -a -c bw_mod-0.6.c
配置:向http.conf中添加
BandWidthModule On
MaxConnection all 20
//限制从所有IP的最大连接,如果最大连接超过此值就会得到503的错误
限制下载文件夹的传输速率
<Directory /var/www/html/download>
BandWidth 192.168.1 0
BandWidth all 500000
</Directory>
//设置从192.168.0 域下没有带宽限制,其他的所有IP都要限制在500000 bytes
经测试实现了下载带宽限制
关于单IP连接数未测试
网上介绍还需要另外一个模块
mod_limitipconn
目前看来MaxConnection 好像已经实现了此模块的 MaxConnPerIP的功能
恐怕不需要再装了吧
不知道具体有何特别的其他的功能
设置过程主要参考bw_mod-0.6包中的bw_mod-0.6.txt文件