使用mod_limitipconn限制Apache的併發連接數

今天送免費空間的服務器也被人DDOS,氣死我了.香港那邊的技術人員提示用mod_limitipconn限制Apache的併發連接數試試.

http://dominia.org/djao/limitipconn.html下載limitipconn-0.04.tar.gz

  以管理員方式登陸服務器,然後在服務器上運行 wget http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz 將mod_limitipconn的tar包下載到服務器,然後按照再運行tar zxvf mod_limitipconn-0.04.tar.gz將tar包解壓縮,會在當前目錄下生成mod_limitipconn-0.04目錄,然後cd mod_limitipconn-0.04進入此目錄,下一步就是使用apxs將目錄中的mod_limitipconn.c編譯。這時,我們需要確定自己的Apache安裝在那個目錄,並且找到apxs命令放在哪裏。

  通過命令whereis apxs,我們可以確定apxs命令的路徑,如我的apxs命令所在爲/usr/sbin/apxs,則輸入/usr/sbin/apxs -c -i -a mod_limitipconn.c對mod_limitipconn.c進行編譯,此命令會自動在你Apache的配置文件httpd.conf中加入需要的信息,並且將生成的mod_limitipconn.so模塊拷貝到Apache的模塊目錄。不過爲了確認此命令是否正常運作,請首先檢查自己的Apache模塊目錄(我的是/usr/lib/apache),看內部是否含有mod_limitipconn.so文件,沒有的話請將mod_limitipconn-0.04目錄中生成的文件拷貝到此處。

修改apache配置文件:

vi /usr/local/apache/conf/httpd.conf

ExtendedStatus On ###make install時這句前面的#沒有去掉,一定要去掉

###make install已經加了下面兩句,確認存在就行了
LoadModule limitipconn_module /usr/lib/apache/mod_limitipconn.so

###下面就是對web目錄下的文件下載限制
<IfModule mod_limitipconn.c>
<Location /> #所限制的目錄所在,此處表示主機的根目錄
MaxConnPerIP 3 #所限制的每個IP併發連接數爲3個
NoIPLimit image/* #對圖片不做IP限制
</Location>
<Location /mp3> #所限制的目錄所在,此處表示主機的/mp3目錄
MaxConnPerIP 1 #所限制的每個IP併發連接數爲1個
OnlyIPLimit audio/mpeg video #該限制只對視頻和音頻格式的文件
</Location>
</IfModule>

  當對全局進行限制時,將這段代碼放在httpd.conf文件沒有VirtualHost的地方,若是對某個虛擬主機進行限制,請將其放在<VirtualHost xxx.xxx.xxx.xxx>和</VirtualHost>之間,我們可以通過更改Location以及MaxConnPerIP方便的控制所限制的目錄和併發連接數。

重啓apache

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章