中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Web應用服務器如何實現并發訪問控制

發布時間:2021-11-23 14:35:20 來源:億速云 閱讀:156 作者:小新 欄目:系統運維

這篇文章主要為大家展示了“Web應用服務器如何實現并發訪問控制”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Web應用服務器如何實現并發訪問控制”這篇文章吧。

前端負載一臺,作用是客戶端發起一條http請求到前端負載均衡服務器,然后負載層根據web server已定義的輪詢算法,把各消息原封不動的轉發到后段的各web server上,壓力這塊不是很大,因為都轉到后端了。
但是有個問題,客戶端在發起一條http請求到前端負載層的時候,一分鐘內這個請求數會達到驚人的幾十萬條不等(項目業務需要,客戶端自身需要把金額等數據同步到各項目服務器上),基本是客戶端對服務端發起的同步請求,還有其它的對web站點的訪問請求。然后可能有些同步請求不是必須也不需要那么頻繁或者是在這個時間內根本不需要把數據同步上來。固鑒于此就想著看能不能在前端負載層做個并發控制,對這個傳過來的客戶端IP做個操作。當這個IP請求次數大于內部設定的某個值的時候就讓它拒絕訪問服務器,這樣的話服務器在處理消息的時候也會更加有效率,也能起到一定的宮級作用。想了想應該可以實現,所以才有了下面的腳本。記錄下來供各位小伙伴參考下......

#!/bin/bash

#Author:You Names
#Contact Mail:455436588@qq.com
#Version:3.0
#Company:COMPANY
#Create time:2019-07-17 17:31:58
#Description:Nginx server concurrency restrictions

Max=100000
CFS=/usr/local/nginx/conf/nginx.conf
LOGS=/usr/local/nginx/logs/access.log

#執行循環體
#過濾出access.log日志里所定義的'$remote_addr'地址。重復的打印出來并排序;
cat $LOGS | awk '{print $2}' | sort -n | uniq -c | sort -rn | head -n 10 | while read line 
do 
    #定義變量$IP,打印出是哪個IP;
    IP=`echo "$line" | awk '{print $2}'` 
    #定義變量$Count,打印出這個IP出現的次數;
    Count=`echo "$line" | awk '{print $1}'`      
    #定義變量$Docs,值為nginx的配置文件;
    Docs=${cat $CFS}                     
    #定義變量$CFG,看配置文件里有沒有這個IP;
    CFG=`echo "$Docs" | grep "${IP}"`    

    #判斷,如果$Count的值大于$Max的值,并且在$CFG里為空,不是這也不是那,執行替換并寫入到$Docs指定location下做deny操作,重載并continue;
    if [[ $Count -gt $Max ]] && [[ $CFG == " " ]] && [[ $IP != "IP ADDRESS" ]] && [[ $IP != "IP ADDRESS" ]]
        then 
            sed -i  '/location \/ {/a\deny '${IP}';' $CFS
            sed -i  '/location \/pads {/a\deny '${IP}';' $CFS
            sed -i  '/location \~\* \\\.ios\$ {/a\deny '${IP}';' $CFS
            sed -i  '/location \~\* \\\.android\*\$ {/a\deny '${IP}';' $CFS
            /usr/local/nginx/sbin/nginx -t && /usr/local/nginx/sbin/nginx -s reload && echo "SUCCESS!!"
        else
            continue    
    fi

done

以上是“Web應用服務器如何實現并發訪問控制”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

web
AI

乐业县| 宣化县| 罗田县| 米脂县| 金乡县| 临漳县| 攀枝花市| 仪陇县| 卫辉市| 漳浦县| 定西市| 海伦市| 蒙自县| 金寨县| 上思县| 和平区| 枞阳县| 莎车县| 阿鲁科尔沁旗| 和平县| 航空| 体育| 松原市| 青阳县| 杭州市| 和龙市| 德安县| 佳木斯市| 无棣县| 肥西县| 榆树市| 灵石县| 顺义区| 镇雄县| 芒康县| 禹州市| 桦甸市| 华池县| 贵溪市| 盐津县| 海晏县|