最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx 如何限制訪問頻率,下載速率和并發(fā)連接數(shù)的方法

 更新時(shí)間:2019年08月28日 11:55:37   作者:Tom-時(shí)光  
這篇文章主要介紹了Nginx 如何限制訪問頻率,下載速率和并發(fā)連接數(shù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、 限制訪問頻率、并發(fā)連接、下載速度用到的模塊和指令概述

  • ngx_http_limit_req_module :用來(lái)限制單位時(shí)間內(nèi)的請(qǐng)求數(shù),即速率限制,采用的漏桶算法 “l(fā)eaky bucket”
  • ngx_http_limit_conn_module :用來(lái)限制同一時(shí)間連接數(shù),即并發(fā)限制
  • limit_rate和limit_rate_after :下載速度設(shè)置

漏桶算法(leaky bucket)

算法思想是:

  • 水(請(qǐng)求)從上方倒入水桶,從水桶下方流出(被處理)
  • 來(lái)不及流出的水存在水桶中(緩沖),以固定速率流出;
  • 水桶滿后水溢出(丟棄)。
  • 這個(gè)算法的核心是:緩存請(qǐng)求、勻速處理、多余的請(qǐng)求直接丟棄。
  • Nginx按請(qǐng)求速率限速模塊使用的是漏桶算法,即能夠強(qiáng)行保證請(qǐng)求的實(shí)時(shí)處理速度不會(huì)超過(guò)設(shè)置的閾值

二、限制URL訪問請(qǐng)求頻率

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;

  • $binary_remote_addr 是限制同一客戶端ip地址不同URL
  • zone:區(qū)域名one 存放session30M
  • rate: 每秒鐘請(qǐng)求數(shù)

limit_req_zone $binary_remote_addr $uri zone=two:30m rate=20r/s;

  • $binary_remote_addr $uri 是限制同一客戶端ip地址 相同URL
  • zone:區(qū)域名two 存放session30M
  • rate: 每秒鐘請(qǐng)求數(shù)

limit_req_zone $binary_remote_addr $request_uri zone=three:30m rate=20r/s;

  • $binary_remote_addr $request_uri 是限制同一客戶端ip地址 相同URL
  • zone:區(qū)域名two 存放session30M
  • rate: 每秒鐘請(qǐng)求數(shù)

limit_req zone=two burst=15 nodelay;

  • zone引用 區(qū)域?yàn)閠wo,
  • burst 設(shè)置一個(gè)大小為15的緩沖區(qū),當(dāng)有大量請(qǐng)求(爆發(fā))過(guò)來(lái)時(shí),訪問超過(guò)了上面的限制可以先放到緩沖區(qū)內(nèi)。
  • nodelay 一般是和burst一起使用的,如果設(shè)置了nodelay,當(dāng)訪問超過(guò)了頻次而且緩沖區(qū)也滿的情況下會(huì)直接返回503,如果設(shè)置了,則所有大的請(qǐng)求會(huì)等待排隊(duì)

三、并發(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; 
 } 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 很詳細(xì)的Nginx配置說(shuō)明

    很詳細(xì)的Nginx配置說(shuō)明

    這篇文章主要為大家分享了一篇很詳細(xì)的Nginx配置說(shuō)明,主要內(nèi)容包括Nginx常用功能、Nginx配置文件結(jié)構(gòu),想要了解Nginx配置的朋友不要錯(cuò)過(guò),參考一下
    2016-02-02
  • nginx使用nginx-rtmp-module模塊實(shí)現(xiàn)直播間功能

    nginx使用nginx-rtmp-module模塊實(shí)現(xiàn)直播間功能

    做的過(guò)程出現(xiàn)很多問題,環(huán)境其實(shí)就需要nginx就可以,然后就是在播放的問題,m3u8的格式,mac直接訪問就支持,蘋果系統(tǒng)原生H5支持m3u8,還有就是手機(jī)直接訪問也支持!但是其他其他系統(tǒng)PC端不支持,嘗試了好多都不行,最后終于找到了一個(gè)支持m3u8格式H5播放
    2017-10-10
  • Nginx+keepalived雙機(jī)熱備技術(shù)實(shí)踐

    Nginx+keepalived雙機(jī)熱備技術(shù)實(shí)踐

    在互聯(lián)網(wǎng)的高可用性 服務(wù)中,單一的服務(wù)節(jié)點(diǎn)往往無(wú)法滿足業(yè)務(wù)對(duì)穩(wěn)定性和可用性的要求,雙機(jī)熱備是一種常見的高可用性解決方案,它通過(guò)兩臺(tái)服務(wù)器同時(shí)運(yùn)行相同的服務(wù),本文將詳細(xì)介紹如何在 Nginx 環(huán)境中部署雙機(jī)熱備方案,需要的朋友可以參考下
    2025-01-01
  • Ubuntu系統(tǒng)下的Nginx服務(wù)器軟件安裝時(shí)的常見錯(cuò)誤解決

    Ubuntu系統(tǒng)下的Nginx服務(wù)器軟件安裝時(shí)的常見錯(cuò)誤解決

    這篇文章主要介紹了Ubuntu系統(tǒng)下的Nginx服務(wù)器軟件安裝時(shí)的常見問題解決,包括徹底卸載Nginx的方法介紹,需要的朋友可以參考下
    2016-03-03
  • Windows系統(tǒng)下安裝及部署Nginx詳細(xì)教程(含多個(gè)站點(diǎn)部署)

    Windows系統(tǒng)下安裝及部署Nginx詳細(xì)教程(含多個(gè)站點(diǎn)部署)

    Nginx是一個(gè)很強(qiáng)大的高性能Web和反向代理服務(wù),也是一種輕量級(jí)的Web服務(wù)器,可以作為獨(dú)立的服務(wù)器部署網(wǎng)站,應(yīng)用非常廣泛,這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下安裝及部署Nginx(含多個(gè)站點(diǎn)部署)的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Nginx中if語(yǔ)句的判斷條件與多條件判斷詳解

    Nginx中if語(yǔ)句的判斷條件與多條件判斷詳解

    這篇文章主要介紹了關(guān)于Nginx中if語(yǔ)句的判斷條件與多條件判斷的相關(guān)資料,文中給出了詳細(xì)的示例代碼,對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-03-03
  • Nginx?map?實(shí)現(xiàn)時(shí)間格式轉(zhuǎn)換的方法

    Nginx?map?實(shí)現(xiàn)時(shí)間格式轉(zhuǎn)換的方法

    最近我們需要把?Nginx?的日志接入到自研的日志采集平臺(tái)上,但是這個(gè)平臺(tái)只支持?JSON?格式,所以需要把?Nginx?日志格式改成?JSON?格式,這篇文章主要介紹了Nginx?map?實(shí)現(xiàn)時(shí)間格式轉(zhuǎn)換,需要的朋友可以參考下
    2023-09-09
  • 修改配置解決Nginx服務(wù)器中常見的上傳與連接錯(cuò)誤

    修改配置解決Nginx服務(wù)器中常見的上傳與連接錯(cuò)誤

    這篇文章主要介紹了修改配置解決Nginx服務(wù)器中常見的上傳與連接錯(cuò)誤的方法,分別針對(duì)Nginx的413錯(cuò)誤與111錯(cuò)誤,需要的朋友可以參考下
    2016-01-01
  • 基于nginx的靜態(tài)網(wǎng)頁(yè)部署的實(shí)現(xiàn)

    基于nginx的靜態(tài)網(wǎng)頁(yè)部署的實(shí)現(xiàn)

    這篇文章主要介紹了基于nginx的靜態(tài)網(wǎng)頁(yè)部署的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Nginx rewrite正則匹配重寫的方法示例

    Nginx rewrite正則匹配重寫的方法示例

    這篇文章主要介紹了Nginx rewrite正則匹配重寫的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評(píng)論

顺平县| 泰宁县| 台中市| 崇仁县| 西林县| 沂水县| 东城区| 镶黄旗| 金寨县| 永康市| 景谷| 四会市| 舟山市| 博湖县| 苍南县| 炉霍县| 榆社县| 海伦市| 香河县| 乐安县| 民丰县| 楚雄市| 个旧市| 郁南县| 扎兰屯市| 项城市| 庐江县| 屯留县| 柯坪县| 东乡族自治县| 德令哈市| 大城县| 商城县| 象山县| 兴海县| 三门县| 孝义市| 衡东县| 林周县| 崇仁县| 雷州市|