對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 2006/2/21 9:08:11
apache中限制同一ip的同時登陸次數
1.構建過程說明
進行ip鏈接限制利用了apache的module--->mod_limitipconn
具體網址:http://dominia.org/djao/limitipconn.html
apache的modyle查詢網址:http://modules.apache.org
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解壓到一個目錄
這樣mod就被解壓到它所在地目錄了...
2)
利用apxs把mod_limitconn.c編譯成so為後綴的模塊,並由程序自動修改apache的conf和cp模塊到/apache-root/libexec,並設置正確權限(全自動完成)
3)
利用phpinfo();函數查看apache當前的mod情況...(用vi編輯一個只有的php)
如果沒有mod_status那麼手動增加
增加方法如下:
為apache增加server-status的支持...
注:一般都有mod_status了...:)所以上面步驟可自選...
4)
修改apache的配置文件,配置文件在/apache-root/conf/httpd.conf
檢查裡面是否有下面的句子
並且
段要為on的設置,默認是off
還要在httpd.conf的最後加入
MaxConnPerIP 6說明限制每個ip為6個鏈接....
5)
確認conf是不是正確
restart apache
1.構建過程說明
進行ip鏈接限制利用了apache的module--->mod_limitipconn
具體網址:http://dominia.org/djao/limitipconn.html
apache的modyle查詢網址:http://modules.apache.org
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(); ?>
如果沒有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 //手動增?#91;mod_模塊要?#91;這行
AddModule mod_limitipconn.c
#AddModule mod_status.c //手動增?#91;mod_模塊要?#91;這行
並且
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文件不受限制...?#93;括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