這篇文章主要為大家展示了“Web應用服務器如何實現(xiàn)并發(fā)訪問控制”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Web應用服務器如何實現(xiàn)并發(fā)訪問控制”這篇文章吧。
東陽網站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、響應式網站設計等網站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創(chuàng)新互聯(lián)公司。
前端負載一臺,作用是客戶端發(fā)起一條http請求到前端負載均衡服務器,然后負載層根據web server已定義的輪詢算法,把各消息原封不動的轉發(fā)到后段的各web server上,壓力這塊不是很大,因為都轉到后端了。
但是有個問題,客戶端在發(fā)起一條http請求到前端負載層的時候,一分鐘內這個請求數會達到驚人的幾十萬條不等(項目業(yè)務需要,客戶端自身需要把金額等數據同步到各項目服務器上),基本是客戶端對服務端發(fā)起的同步請求,還有其它的對web站點的訪問請求。然后可能有些同步請求不是必須也不需要那么頻繁或者是在這個時間內根本不需要把數據同步上來。固鑒于此就想著看能不能在前端負載層做個并發(fā)控制,對這個傳過來的客戶端IP做個操作。當這個IP請求次數大于內部設定的某個值的時候就讓它拒絕訪問服務器,這樣的話服務器在處理消息的時候也會更加有效率,也能起到一定的宮級作用。想了想應該可以實現(xiàn),所以才有了下面的腳本。記錄下來供各位小伙伴參考下......
#!/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 #執(zhí)行循環(huán)體 #過濾出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出現(xiàn)的次數; Count=`echo "$line" | awk '{print $1}'` #定義變量$Docs,值為nginx的配置文件; Docs=${cat $CFS} #定義變量$CFG,看配置文件里有沒有這個IP; CFG=`echo "$Docs" | grep "${IP}"` #判斷,如果$Count的值大于$Max的值,并且在$CFG里為空,不是這也不是那,執(zhí)行替換并寫入到$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應用服務器如何實現(xiàn)并發(fā)訪問控制”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網站名稱:Web應用服務器如何實現(xiàn)并發(fā)訪問控制
鏈接URL:http://www.rwnh.cn/article30/jscoso.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化、網站營銷、網站建設、靜態(tài)網站、網站排名、品牌網站制作
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)