一、 限制訪問頻率、并發(fā)連接、下載速度用到的模塊和指令概述
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),沽源企業(yè)網(wǎng)站建設(shè),沽源品牌網(wǎng)站建設(shè),網(wǎng)站定制,沽源網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,沽源網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
漏桶算法(leaky bucket)
算法思想是:
二、限制URL訪問請求頻率
http{ ... limit_req_zone $binary_remote_addr zone=one:30m rate=20r/s; limit_req_zone $binary_remote_addr $uri zone=two:30m rate=20r/s; limit_req_zone $binary_remote_addr $request_uri zone=three:30m rate=20r/s; limit_req_status 444; ... server{ ... limit_req zone=two burst=15 nodelay; ... } }
解釋:
limit_req_zone $binary_remote_addr zone=one:30m rate=20r/s;
limit_req_zone $binary_remote_addr $uri zone=two:30m rate=20r/s;
limit_req_zone $binary_remote_addr $request_uri zone=three:30m rate=20r/s;
limit_req zone=two burst=15 nodelay;
三、并發(fā)連接數(shù)限制
案例一:
http { ... limit_conn_log_level error; limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn_status 503; ... server { ... location /download/ { limit_conn addr 1; 單個(gè)客戶端IP限制為1 } ... }
案例二:
http{ limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; server { ... limit_conn perip 10; #單個(gè)客戶端ip與服務(wù)器的連接數(shù) limit_conn perserver 100; #限制與服務(wù)器的總連接數(shù) } }
四、限制下載速度
location /download { limit_rate 128k; } #如果想設(shè)置用戶下載文件的前10m大小時(shí)不限速,大于10m后再以128kb/s限速可以增加以下配內(nèi)容 location /download { limit_rate_after 10m; limit_rate 128k; }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。