背景:
在原來并發限制的需求下,增加白名單并發限制,所以需要更改對應的key
更改前:

引數解釋:
桶空間10m,10M能保持大約16萬個(IP)狀態
速率rate=100,峰值burst=25,不延遲請求
加了nodelay之后,漏桶控制一段時長內的平均qps = 漏桶速率,允許瞬時的峰值qps > 漏桶qps ,所以峰值時的最高qps=(brust+qps-1)=124,請求不會被delay,要么處理,要么直接回傳503
更改后:

引數解釋:
geo指令為該模塊創建變數,其值取決于客戶端的 IP 地址,定義了一個白名單 $limited 變數,該模塊創建變數,其值取決于客戶端的 IP 地址,設定默認值設為1,對應 ip 段設定設為0
map指令是設定一個映射表,映射表由兩列組成,分別為匹配模式和對應的值,
問題
更改完后對該配置進行多載
nginx -t && nginx -s reload
并沒有進行報錯
但是經過測驗,配置并沒有生效
就查看nginx行程時間是否為多載的時間
ps -ef | grep nginx
查看行程時間得知,并沒有多載成功
再查看一下nginx日志
tail /var/log/nginx/error.log

日志資訊說明,并發限制的zone 的key 更改了,因為是使用了和之前配置不一樣的key,導致無法正常加載成功
解決:
1、因為 “allipss” 這個zone 更改了 key, 導致 nginx -s reload 無法生效,但是重啟nginx服務即可,一般線上業務能不重啟就不重啟,所以可以考慮第二種方案
2、更改 zone 的名字,zone = “allipp_new” ,這樣就不屬于更改key , nginx -s reload 就可以生效
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/295613.html
標籤:其他
