|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1735231
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2006/2/21 9:08 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15773
|
- [分享]apache中限制同一ip的同時登陸次數
- 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解壓到一個目錄
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編輯一個只有的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 //手動增?#91;mod_模塊要?#91;這行
AddModule mod_limitipconn.c
#AddModule mod_status.c //手動增?#91;mod_模塊要?#91;這行
並且 段要為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
|
|
|
討論串
|