当前位置:web 服务器 > Apache >>

apache中限制同一ip的同时登陆次数

1.构建过程说明

  进行ip链接限制利用了apache的module--->mod_limitipconn

  具体网址:http://dominia.org/djao/limitipconn.html

  apache的modyle查询网址:http://modules.apache.org

  系统说明:redhat ad server2.1 apache1.3.27

  2.构建过程

  构建过程是基于apache启用dso(dynamic shared objects )模式.

  也就是你在编译apache的时候加入了--enable-module=so这个参数

  构建的时候你无需停止你的apache服务...这个就是dso的方便之处:)

  为了便于理解

  这里把apache安装的目录叫做/apache-root

  apache的源码目录叫做/apache-src

  1)

  把下裁到的mod_limitipconn-0.04.tar.gz解压到一个目录

  tar -zvxf mod_limitipconn-0.04.tar.gz

  这样mod就被解压到它所在地目录了...

  2)

  利用apxs把mod_limitconn.c编译成so为后缀的模块,并由程序自动修改apache的conf和cp模块到/apache-root/libexec,并设置正确权限(全自动完成)

  cd mod_limitipconn-0.04

  /apache-root/bin/apxs -i -a -c mod_limitconn.c

  3)

  利用phpinfo();函数查看apache当前的mod情况...(用vi编辑一个只有<? phpinfo(); ?>的php)

  如果没有mod_status那么手动增加

  增加方法如下:

  为apache增加server-status的支持...

  cd /apache-src/src/modules/standard

  /apache-root/bin/apxs -i -a -c mod_status.c

  注:一般都有mod_status了...:)所以上面步骤可选...

  4)

  修改apache的配置文件,配置文件在/apache-root/conf/httpd.conf

  检查里面是否有下面的句子

  LoadModule limitipconn_module libexec/mod_limitipconn.so

  #LoadModule status_module libexec/mod_status.so //手动增加mod_模块要加这行

  AddModule mod_limitipconn.c

  #AddModule mod_status.c //手动增加mod_模块要加这行

  并且

  ExtendedStatus On

  段要为on的设置,默认是off

  还要在httpd.conf的最后加入

  ##############

  #new add conf#

  ##############

  <IfModule mod_limitipconn.c>

  <Location />

  MaxConnPerIP 6

  # exempting images from the connection limit is often a good

  # idea if your web page has lots of inline images, since these

  # pages often generate a flurry of concurrent image requests

  NoIPLimit image/* //image文件不受限制...包括gif,jpg等...

  </Location>

  # <Location /mp3>

  # MaxConnPerIP 1

  # # In this case, all MIME types other than audio/mpeg and video*

  # # are exempt from the limit check

  # OnlyIPLimit audio/mpeg video

  # </Location>

  #</IfModule>

  ##################

  #new add conf end#

  ##################

  MaxConnPerIP 6说明限制每个ip为6个链接....

  5)

  确认conf是不是正确

  /apache-root/bin/apachectl configtest

  restart apache

  /apache-root/bin/apachectl restart

  6)

  自己想个办法测试了...:)

  更多信息查看官方网站的介绍..:)本文来自:http://www.xiaoyaxiao.com/1193.html
发表您的高见!
Apache
IIS
Nginx
Tomcat
如果你遇到web 服务器难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,