一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - Apache限制IP并發數和流量控制的方法

Apache限制IP并發數和流量控制的方法

2021-10-21 15:02服務器技術網 服務器知識

這篇文章主要介紹了Apache限制IP并發數和流量控制的方法,需要的朋友可以參考下

本文章來給各位同學總結一下apache中限制ip連接數與ip并發數和流量控制實現方法,如果只限制連接數據我們可以直接使用limit,如果要限制其它的需要使用其它第三方模塊了

使用mod_limitipconn模塊限制ip并發連接數
安裝:

?
1
2
3
4
wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2
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

?
1
2
3
4
5
6
7
8
9
10
11
12
extendedstatus on
loadmodule limitipconn_module modules/mod_limitipconn.so
 
<ifmodule mod_limitipconn.c>
<location />                       #對應根目錄
   maxconnperip 5                 #最大并發數為5
   noiplimit image/*                #對圖片不做限制
</location>
<location /test>                    #對根目錄下的test目錄做限制
   maxconnperip 2                  #最大并發數為2
</location>
</ifmodule>

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

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

使用mod_bandwidth模塊限制帶寬
mod_bandwidth可以對ip的并發數進行控制,也可以對下載流量進行控制,也可以對某個目錄的流量進行控制。
安裝:

?
1
2
3
4
wget http://bwmod.sourceforge.net/files/mod_bw-0.7.tgz
tar zxvf mod_bw-0.7.tgz
cd mod_bw
/usr/local/apache2/bin/apxs -c -i mod_bw.c

編輯httpd.conf配置文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
loadmodule bw_module modules/mod_bw.so
 
<virtualhost *:80>
    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
</virtualhost>

其它參數事例說明,詳細的見源碼包里的mod_bw.txt:

?
1
2
3
4
5
6
7
8
9
10
11
bandwidth localhost 0                   #對localhost不限速
bandwidth 192.168.1.5 102400            #對192.168.1.5限速為100kb
bandwidth “u:^mozilla(.*)” 10240       #用mozilla時限速10kb
bandwidth “u:wget” 102400           #如果用wget下載時限速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模塊前:

Apache限制IP并發數和流量控制的方法

使用mod_bw.so模塊后:

Apache限制IP并發數和流量控制的方法

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

1、添加完mod_bw.so模塊,重啟apache時出現錯誤:

?
1
2
3
4
[root@vps httpd]# /etc/init.d/httpd restart
stopping httpd:                      [failed]
starting httpd: httpd: syntax error on line 203 of /etc/httpd/conf/httpd.conf: cannot load /etc/httpd/modules/mod_bw.so into server: /etc/httpd/modules/mod_bw.so: undefined symbol: apr_atomic_cas
                              [failed]

修改一下mod_bw.c 就可以:

?
1
2
3
4
5
6
7
8
9
#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這個包,如果沒有需要安裝

?
1
2
rpm -qa|grep httpd
yum -y install httpd-devel

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男人把j放进女人的p里视频 | 欧美日韩精品在线视频 | 国产在线视频一区二区三区 | 香蕉成人国产精品免费看网站 | 午夜无码片在线观看影院 | 日本视频在线观看播放 | 国产精品13p | 国产免费一区二区三区 | 精品在线播放 | 成人影院vs一区二区 | 亚洲国产精品成 | 1024亚洲精品国产 | 咪咪爱网友自拍 | 麻豆视频入口 | 国产精品美女福利视频免费专区 | 人人澡 人人澡碰人人看软件 | 久久精品国产欧美日韩99热 | 国产永久一区二区三区 | 2022天天干 | 精品久久久久中文字幕日本 | 摸进老太婆的裤裆小说 | 婚前试爱全集免费观看 | 插得好爽 | 美女被草漫画 | 国产亚洲女人久久久久久 | 午夜福利理论片在线播放 | 大学生特黄特色大片免费播放 | 女同性互吃奶乳免费视频 | 免费国产白棉袜踩踏区域 | 亚洲www美色 | 小货SAO边洗澡边CAO你动漫 | 为什么丈夫插我我却喜欢被打着插 | 亚洲天堂男人网 | 国产福利免费看 | 深夜国产在线 | 日本加勒比在线精品视频 | 久久re这里精品在线视频7 | 美国一级大黄大色毛片 | 色综合97天天综合网 | 成人看片免费无限观看视频 | 日韩免费在线看 |