亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

nginx正向和反向代理服務(wù)器中限制http請(qǐng)求速率設(shè)置

admin
2025年6月28日 22:23 本文熱度 131

ngx_http_limit_req_module

ngx_http_limit_req_module模塊按照定義的key值限制請(qǐng)求處理速率,特別是對(duì)來(lái)自單個(gè)IP請(qǐng)求的速率限制。

limit_req_zone指令

  1. 按key設(shè)置一塊共享內(nèi)存存儲(chǔ)狀態(tài)信息、超限請(qǐng)求數(shù)量;key可以包含文本、變量、文本和變量的組合。如果請(qǐng)求中的key為空不會(huì)計(jì)算到請(qǐng)求數(shù)量中。
  2. limit_req_zone指令只能設(shè)置在http塊中。
  3. 語(yǔ)法:limit_req_zone key zone=name:size rate=rate [sync];
  4. 例:limit_req_zone $binary_remote_addr zone=one:10m rate=3r/s;。
    • $binary_remote_addr將客戶端IP設(shè)置為key(按客戶端IP限制速率)。
    • zone=one:10m表示區(qū)域命名為one,10m內(nèi)存空間;如果10m空間用完,按最近最少使用原則移除狀態(tài)數(shù)據(jù),如果空間仍然不夠就拒絕處理新請(qǐng)求(返回503)。
    • rate=3r/s表示速率為每秒3個(gè)請(qǐng)求,單位r/s表示每秒請(qǐng)求數(shù),如果要設(shè)置的速率小于1r/s,可以使用r/m單位,表示每分鐘請(qǐng)求數(shù)。
    • sync用于集群節(jié)點(diǎn)間的共享內(nèi)存數(shù)據(jù)同步,這里不介紹。

    limit_req指令

    1. limit_req指令用于限制請(qǐng)求速率。
    2. limit_req會(huì)設(shè)置一塊內(nèi)存區(qū)域用于實(shí)現(xiàn)/管理速率限制,可以給這塊內(nèi)存設(shè)置區(qū)域名、空間大小、速率、瞬間最大請(qǐng)求量。
    3. 如果請(qǐng)求速率超過(guò)設(shè)置,nginx會(huì)按設(shè)置的速率平滑處理請(qǐng)求(將一些請(qǐng)求延遲處理以達(dá)到設(shè)置速率)。
    4. 超過(guò)瞬間最大請(qǐng)求量以前的請(qǐng)求會(huì)被延遲處理,而超過(guò)瞬間最大請(qǐng)求量的請(qǐng)求不會(huì)被處理,直接返回錯(cuò)誤狀態(tài)碼為503,可以用limit_req_status指令自定義錯(cuò)誤狀態(tài)碼。
    5. 瞬間最大請(qǐng)求量默認(rèn)值為0。
    6. 語(yǔ)法:limit_req zone=name [burst=number] [nodelay | delay=number];
      • zone=name設(shè)置區(qū)域名。
      • burst=number設(shè)置瞬間最大請(qǐng)求量。
      • nodelay表示不延遲處理請(qǐng)求。
      • delay=number表示延遲處理的請(qǐng)求數(shù)量,默認(rèn)值為0,即所有超過(guò)速率限制的請(qǐng)求都會(huì)被延遲。
        7. 只有當(dāng)前配置塊(級(jí)別)沒(méi)有設(shè)置limit_req指令時(shí),才會(huì)從上一個(gè)配置塊繼承配置。
        8. limit_req指令可以設(shè)置多個(gè),如以下配置:限制同個(gè)客戶端IP的請(qǐng)求速率,同時(shí)也限制虛擬主機(jī)的請(qǐng)求速率。
      server {
          ...
          limit_req zone=perip burst=5 nodelay;
          limit_req zone=perserver burst=10;
      }

      limit_req_statu指令

      設(shè)置拒絕處理的狀態(tài)碼,默認(rèn)值為503 語(yǔ)法:limit_req_status code;可配置塊:http, server, location

      limit_req_log_level指令

      1. 設(shè)置拒絕處理和延遲處理的日志級(jí)別,延遲處理級(jí)別比拒絕處理級(jí)別低一級(jí),如imit_req_log_level notice表示拒絕處理為notice級(jí),延遲處理低一級(jí)為info。 

      2. 語(yǔ)法 :limit_req_log_level info | notice | warn | error;默認(rèn)日志級(jí)別:error 可配置塊:http, server, location

      測(cè)試

      測(cè)試1. 限制同一IP每秒3個(gè)請(qǐng)求,nginx配置:

      limit_req_zone $binary_remote_addr zone=one:10m rate=3r/s;

      server {
          listen       80;
          server_name  xxx.xxx.xxx.xxx;


          location / {
              # 限制速率
              limit_req zone=one;
              root   html;
              index  index.html index.htm;
          }
      }

      1秒鐘內(nèi)啟動(dòng)10個(gè)請(qǐng)求,因?yàn)樗俾氏拗茷?r/s,3個(gè)請(qǐng)求正常響應(yīng),7個(gè)請(qǐng)求返回503:



      測(cè)試2. 限制同一IP每秒1個(gè)請(qǐng)求,瞬間最大請(qǐng)求量為5:
      # 方便查看limit_req限制效果
      log_format main '$time_local,$request,$status,limit_req_status=$limit_req_status';

      access_log /usr/local/nginx/logs/access.log main;


      limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

      server {
          listen       80;
          server_name  xxx.xxx.xxx.xxx;

            
          location /download/ {
           alias /var/www/images/;
           limit_req zone=one burst=5 nodelay;
          }
      }

      本機(jī)同時(shí)啟動(dòng)15個(gè)請(qǐng)求ab -n 15 -c 15 http://127.0.0.1/download/1.jpg,因?yàn)楸緳C(jī)發(fā)起的請(qǐng)求能夠第一時(shí)間到達(dá)nginx服務(wù),客戶端jmeter測(cè)試可能因網(wǎng)絡(luò)原因有延遲。速率為1r/s,允許瞬間最大請(qǐng)求5(burst)無(wú)延遲處理,15個(gè)請(qǐng)求中6個(gè)處理成功,9個(gè)錯(cuò)誤返回503,如下圖:


      閱讀原文:原文鏈接


      該文章在 2025/7/1 23:45:05 編輯過(guò)
      關(guān)鍵字查詢
      相關(guān)文章
      正在查詢...
      點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
      點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
      點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
      點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
      Copyright 2010-2025 ClickSun All Rights Reserved