Apache限制IP併發數和流量控制

2022-03-24 17:23:15 字數 3466 閱讀 4554

使用mod_limitipconn模組限制ip併發連線數

安裝:

wget 

tar jxvf mod_limitipconn-0.24.tar.bz2

cd mod_limitipconn-0.24

/usr/local/apache2/bin/apxs -c -i mod_limitipconn.c

編輯httpd.conf

123

4567

891011

12

extendedstatus on

loadmodule limitipconn_module modules/mod_limitipconn.so #將路徑修改為安裝後的路徑,儲存時去掉以下**的注釋

#對應根目錄

maxconnperip 5 #最大併發數為5

noiplimit image/* #對不做限制

#對根目錄下的test目錄做限制

maxconnperip 2 #最大併發數為2

如果想限制虛擬主機的ip併發連線數,可以修改extra/httpd-vhost.conf把 ifmodule mod_limitipconn.c 這一段複製到virtualhost中就可以了。

測試:測試很簡單,把最大連線數調小一點,隨便乙個瀏覽器訪問頁面,然後按著f5,讓頁面不斷重新整理,一下就可以彈出503錯誤

wget 

tar zxvf mod_bw-0.7.tgz

cd mod_bw

/usr/local/apache2/bin/apxs -c -i mod_bw.c

123

4567

891011

12

loadmodule bw_module modules/mod_bw.so

servername vhost1.cszhi.com

documentroot /var/www/vhost1

bandwidthmodule on

forcebandwidthmodule on

bandwidth all 1024000

minbandwidth all 50000 #每個客戶端最高速度可達50kb

largefilelimit * 500 50000

maxconnection all 6

其它引數事例說明,詳細的見原始碼包裡的mod_bw.txt:

123

4567

891011

bandwidth localhost 0                                      #對localhost不限速

bandwidth 192.168.1.5 102400 #對192.168.1.5限速為100kb

bandwidth 「u:^mozilla(.*)」 10240 #用mozilla時限速10kb

minbandwidth all -1 #保證每個客戶端最高速度可達10kb

largefilelimit .jpg 100 10240 #jpg檔案超過100kb,限速10kb

#下面的510挺好,如果不設定,apache自己會報錯,就根報404差不多,頁面非常的醜

errordocument 510 /exceed_speed.html

bandwidtherror 510

maxconnection all 10 #所有ip最大連線數為10

maxconnection 192.168.1.5 5 #192.168.1.5最大連線數為5

測試:使用mod_bw.so模組前:

使用mod_bw.so模組後:

安裝過程中可能出現的問題:

1、新增完mod_bw.so模組,重啟apache時出現錯誤:

修改一下mod_bw.c 就可以:

123

4567

89

#ifdef apr_major_version   //新增這行

#if (apr_major_version < 1)

#define apr_atomic_inc32 apr_atomic_inc

#define apr_atomic_dec32 apr_atomic_dec

#define apr_atomic_add32 apr_atomic_add

#define apr_atomic_cas32 apr_atomic_cas

#define apr_atomic_set32 apr_atomic_set

#endif

#endif //新增這行

重新編譯:

/usr/local/apache2/bin/apxs -c -i mod_bw.c
2、如果伺服器沒有安裝apxs,可以參照以下方法安裝:

apxs是乙個為apache http伺服器編譯和安裝擴充套件模組的工具,用於編譯乙個或多個源程式或目標**檔案為動態共享物件,使之可以用由mod_so提供的loadmodule指令在執行時載入到apache伺服器中。

輸入命令檢視是否有httpd-devel這個包,如果沒有需要安裝

nginx與apache 限制ip連線數和頻寬方法

今天有個人問我,nginx怎麼限制ip連線數,突然想不起來了,年齡大了,腦子不怎麼好使了。還要看一下配置才想起了。那個人又問我,你測試過的嗎?一下子把我問蒙了,我真沒測試過了,也不知道啟作用了沒有。1,配置nginx.conf 如下 複製 2,測試限制ip連線數 如下 複製 benchmarking...

apache 限制IP訪問

options all allowoverride none order deny,allow deny from all allow from 192.168.0.0 24 allow from 127.0.0.1 allow from 59.37.x.x 28 上面這一段的意思是對 var ww...

Apache限制IP訪問

apache限制ip訪問 2004 11 09 20 04 43 分類 linux 1 用ps命令確認httpd deamon確實啟動,並且監聽80口位址。2 在httpd.conf檔案中,確認包含access.conf,srm.conf兩個控制檔案,否則,需要分 別修改這兩個檔案。3 在httpd...