Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1792801
  • 博文数量: 293
  • 博客积分: 10127
  • 博客等级: 上将
  • 技术积分: 3029
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 19:05
文章分类

全部博文(293)

文章存档

2011年(11)

2010年(282)

我的朋友

分类: BSD

2010-08-27 18:49:12

大型动态系统中,如果客户端不顾缓存设置,大并发量的请求文件,系统的负担会很重,而普通用户的浏览带宽会被这些大并发量客户端浪费和占用,为了防止系统过载,可以通过相应的软件进行限制,我们就是要使用mod_limitipconn模块帮助Apache2实现单一IP地址连接数限制。

以下过程以FreeBSD 6.2环境为准:

1、确保你的Web系统正常运行;

2、安装mod_limitipconn(如果使用的Apache 1.3.x请使用/usr/ports/www/mod_limitipconn):
# cd /usr/ports/www/mod_limitipconn2
# make install clean

3、设置Apache2(我的Apache2是DSO模式):

# 必须启用mod_status,并设置了以下参数
ExtendedStatus On

LoadModule status_module libexec/apache2/mod_status.so
LoadModule limitipconn_module libexec/apache2/mod_limitipconn.so


 
  MaxConnPerIP 3
 



最后,可以使用下载工具测试,我使用了FreeBSD下的Wget工具,在同一台远程机器上,开启4个Wget抓取文件,你如果看到第四个链接(我设置的上限是3,具体多少个和你的设置相关)被拒绝,提示503错误,说明mod_limitipconn起作用了。

已知的问题:
1、对于通过代理服务器浏览的用户,系统会认为是同一IP地址,同样会做出限制。
2、当前的mod_limitipconn模块对所有IP地址一视同仁,还不能区别对待不同的IP地址。
阅读(2607) | 评论(0) | 转发(0) |
0

上一篇:apache ab详解

下一篇:查看mysql线程

给主人留下些什么吧!~~