中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

nginx限速怎么實現

這篇文章主要介紹“nginx限速怎么實現”,在日常操作中,相信很多人在nginx限速怎么實現問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”nginx限速怎么實現”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創新互聯是一家專注于成都網站設計、成都做網站與策劃設計,新樂網站建設哪家好?創新互聯做網站,專注于網站建設十載,網設計領域的專業建站公司;建站業務涵蓋:新樂等地區。新樂做網站價格咨詢:18982081108

nginx限速可以通過 ngx_http_limit_conn_module 和 ngx_http_limit_req_module 模塊來實現限速的功能。

一、ngx_http_limit_conn_module :

  該模塊主要限制下載速度。

1、并發連接限制:

http
{
    ...
    limit_conn_zone $binary_remote_addr zone=aming:10m;
    ...
    server
    {
        ...
        limit_conn aming 10;
        ...   
    }
}
說明:首先用limit_conn_zone定義了一個內存區塊索引aming,大小為10m,它以$binary_remote_addr作為key。
該配置只能在http里面配置,不支持在server里配置。

limit_conn 定義針對aming這個zone,并發連接為10個。在這需要注意一下,這個10指的是單個IP的并發最多為10個。

2、速度限制:

location ~ /download/ {
    ...
    limit_rate_after 512k;
    limit_rate 150k;
    ...
}
說明:limit_rate_after定義當一個文件下載到指定大?。ū纠袨?12k)之后開始限速;
limit_rate 定義下載速度為150k/s。

注意:這兩個參數針對每個請求限速。

二、ngx_http_limit_req_module:

該模塊主要用來限制請求數。

1、limit_req_zone:

語法: limit_req_zone $variable zone=name:size rate=rate;
默認值: none
配置段: http

設置一塊共享內存限制域用來保存鍵值的狀態參數。 特別是保存了當前超出請求的數量。 
鍵的值就是指定的變量(空值不會被計算)。
如limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

說明:區域名稱為one,大小為10m,平均處理的請求頻率不能超過每秒一次,鍵值是客戶端IP。
使用$binary_remote_addr變量, 可以將每條狀態記錄的大小減少到64個字節,這樣1M的內存可以保存大約1萬6千個64字節的記錄。
如果限制域的存儲空間耗盡了,對于后續所有請求,服務器都會返回 503 (Service Temporarily Unavailable)錯誤。
速度可以設置為每秒處理請求數和每分鐘處理請求數,其值必須是整數,
所以如果你需要指定每秒處理少于1個的請求,2秒處理一個請求,可以使用 “30r/m”。

2、limit_req

語法: limit_req zone=name [burst=number] [nodelay];
默認值: —
配置段: http, server, location

設置對應的共享內存限制域和允許被處理的最大請求數閾值。 
如果請求的頻率超過了限制域配置的值,請求處理會被延遲,所以所有的請求都是以定義的頻率被處理的。 
超過頻率限制的請求會被延遲,直到被延遲的請求數超過了定義的閾值,
這時,這個請求會被終止,并返回503 (Service Temporarily Unavailable) 錯誤。

這個閾值的默認值為0。如:
limit_req_zone $binary_remote_addr zone=aming:10m rate=1r/s;
server {
    location /upload/ {
        limit_req zone=aming burst=5;
    }
}

限制平均每秒不超過一個請求,同時允許超過頻率限制的請求數不多于5個。

如果不希望超過的請求被延遲,可以用nodelay參數,如:

limit_req zone=aming burst=5

示例:

http {
    limit_req_zone $binary_remote_addr zone=aming:10m rate=1r/s;

    server {
        location  ^~ /download/ {  
            limit_req zone=aming burst=5;
        }
    }
}

設置白名單:

如果是針對公司內部IP或者lo(127.0.0.1)不進行限速,如何做呢?這就要用到geo模塊了。

假如,預把127.0.0.1和192.168.100.0/24網段設置為白名單,需要這樣做。
在http { }里面增加:
geo $limited {
    default 1;
    127.0.0.1/32 0;
    192.168.100.0/24 0;
}

map $limited $limit {
    1 $binary_remote_addr;
    0 "";
}

原來的 “limit_req_zone $binary_remote_addr ” 改為“limit_req_zone $limit”

完整示例:

http {
    geo $limited {
        default 1;
        127.0.0.1/32 0;
        192.168.100.0/24 0;
    }

    map $limited $limit {
        1 $binary_remote_addr;
        0 "";
    }
    
    limit_req_zone $limit zone=aming:10m rate=1r/s;

    server {
        location  ^~ /download/ {  
            limit_req zone=aming burst=5;
        }
    }
}

到此,關于“nginx限速怎么實現”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!

本文名稱:nginx限速怎么實現
當前地址:http://m.2m8n56k.cn/article8/psheip.html

成都網站建設公司_創新互聯,為您提供面包屑導航網站排名、自適應網站、用戶體驗網站設計公司、App設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站優化排名
主站蜘蛛池模板: 国产在线一区二区三区 | 午夜欧美精品久久久久久久久 | 久久久一区二区三区不卡 | 午夜宅宅宅影院在线观看 | 99久久精品久久久 | 高清在线亚洲精品国产二区 | 日本欧美亚洲 | 国产女王vk | 午夜爽爽爽 | 国产高清在线观看视频手机版 | 亚洲一区免费 | 毛片毛片毛是个毛毛片 | 亚洲成人tv| 精品久久久中文字幕一区 | 免费精品久久久久久中文字幕 | 亚洲精品国产成人中文 | 男人女人做黄刺激性视频免费 | 久久久久久久免费 | 成人影院欧美大片免费看 | 国产三级在线观看免费 | 国产精品午夜波多野结衣性色 | 国产免费爱在线观看视频 | 亚洲精彩视频在线观看 | 看a网址| 97国内免费久久久久久久久久 | 成人性一级视频在线观看 | 九九视频在线 | 亚洲免费在线视频 | 黄色三级三级三级免费看 | 亚洲成a人片在线观看精品 亚洲成a人片在线观看中 | 久久久久一级片 | 亚洲高清视频在线观看 | 亚洲精品亚洲人成毛片不卡 | 欧美做暖小视频xo免费 | 亚洲欧美激情视频 | 欧美另类极品 | 欧美毛片一级的免费的 | 久久久影院| 成年片美女福利视频在线 | 一级特黄aa大片欧美网站 | 曰本毛片va看到爽不卡 |