* 改版記錄
2003/04/18
* 修正部分句子
* only with apache 1.3.x
* 修正 license version
2003/04/18
* 第一次 release
* Author & License
gslin@ccca.nctu.edu.tw (DarkKiller)
The license of this document is:
GNU Free Documentation License
Version 1.2, November 2002
http://www.gnu.org/licenses/fdl.txt
* 參考文件
http://dominia.org/djao/limitipconn.html (Original Site)
* 前言
如果你使用 apache 架設比較大的站台,通常都會遇到兇暴的使用者:用
FlashGet/NetAnt 或是其他類似軟體對站台大量抓檔。
我曾經在某些 IIS website 上面看過某個功能:只讓你有兩個連線可以抓檔
案,其他的會 queue 住。
我不清楚是不是 IIS 的功能,或是 firewall 的功能,但是我蠻欣賞這項功
能的,所以我開始在 apache 上尋找類似的 module。
在 http://dominia.org/djao/limitipconn.html 提到的 mod_limitipconn
剛好就是我要的功能,所以我把他做成 ports (感謝 ijliao commit),目前
我已經在某台機器上跑起來,效果看起來還不錯。
* 要求
apache13 系列 (apache13、apache13-modssl、...)。
limitipconn 0.04 版 *不支援* apache2,但作者已經在 limitipconn 0.22
版支援 apache2,不過我這邊測不出來。
* 安裝
請先將 ports 更新。如果您不知道如何更新 ports,請參考我寫的另外一篇
文章:
http://ccca.nctu.edu.tw/~gslin/Documents/FreeBSD/use-cvsup.txt
更新完 ports 後,請打入下面的指令:
cd /usr/ports/www/mod_limitipconn
make all install clean
* 設定
安裝完以後,請到 /usr/local/etc/apache/httpd.conf 內將下面三行最前
面的 '#' 拿掉。
也就是說,分別將下面三行:
#LoadModule limitipconn_module libexec/apache/mod_limitipconn.so
#AddModule mod_limitipconn.c
#ExtendedStatus On
改成下面三行:
LoadModule limitipconn_module libexec/apache/mod_limitipconn.so
AddModule mod_limitipconn.c
ExtendedStatus On
然後新增這部分:
<IfModule mod_limitipconn.c>
<Location />
MaxConnPerIP 5
</Location>
<Location /cgi-bin>
MaxConnPerIP 2
</Location>
</IfModule>
這個部分應該很好理解,您可以參考原網站的 README 給的範例來設定:
http://dominia.org/djao/limitipconn-README
Okay,到這裡就設定完成了。
* 啟動!
請下下面的指令,先檢查看看設定檔有沒有錯誤:
apachectl configtest
如果沒有錯誤,那麼就用下面的指令讓 apache 重新啟動吧:
apachectl restart
* 其他問題
其他問題請到 tw.bbs.comp.386bsd 詢問,上面會有很多長輩幫您回答,我
只負責三不五時出來碎碎念一下 :p
如果您有任何建議,您可以 e-mail 給我,我的 e-mail 在本篇說明文章最
前面有附。
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: bsd1.cc.nhctc.edu.tw