nginx配置系列(五)限制連接數(shù)

      網(wǎng)友投稿 810 2022-05-29

      ngx_http_limit_conn_module 模塊

      該模塊一般應(yīng)用在以下場景:

      ①、秒殺、搶購并發(fā)限制

      ②、下載帶寬限制

      ③、防止攻擊

      詳細(xì)說明:

      ngx_http_limit_conn_module 模塊對于一些服務(wù)器流量異常、負(fù)載過大,甚至是大流量的惡意攻擊訪問等,進(jìn)行并發(fā)數(shù)的限制。該模塊可以根據(jù)定義的鍵來限制每個(gè)鍵值的連接數(shù)。并不是所有的連接都被計(jì)算在內(nèi),只有當(dāng)服務(wù)器處理了一個(gè)請求,并且整個(gè)請求頭已經(jīng)被讀取時(shí),才會(huì)計(jì)算連接。

      該模塊提供了兩個(gè)配置參數(shù),limit_conn_zone 和 limit_conn ,其中 limit_conn_zone 只能配置在 http段,而 limit_conn 則可以配置于http、server、location 段中。

      一、limit_conn_zone

      語法:limit_conn_zone $variable zone=name:size;

      配置段:http

      參數(shù)說明:

      $variable:定義的鍵,要限流的維度;

      zone=name: 定義區(qū)域名稱(名稱隨意起名),主要作用與后面的 limit_conn中對應(yīng)就好。

      size: 定義各個(gè)鍵共享內(nèi)存空間大小。

      該指令描述會(huì)話狀態(tài)存儲區(qū)域。鍵的狀態(tài)中保存了當(dāng)前連接數(shù),鍵的值可以是特定變量的任何非空值(空值不會(huì)被考慮)。比如有以下配置示例:

      #限制連接數(shù)``limit_conn_zone $binary_remote_addr zone=``test``:20m;

      注釋:

      ①、客戶端的ip地址作為鍵。注意,這里使用的是 $binary_remote_addr 變量,而不是 $remote_addr 變量。 $binary_remote_addr 變量作用是 獲取二進(jìn)制格式的客戶端地址。而

      r

      e

      m

      o

      t

      e

      a

      d

      d

      r

      變量的作用是獲取客戶端的

      i

      nginx配置系列(五)限制連接數(shù)

      p

      地址。

      remote_addr 變量的作用是 獲取客戶端的ip地址。

      remotea ddr變量的作用是獲取客戶端的ip地址。binary_remote_addr 和 $remote_addr 這兩個(gè)變量是nginx中的眾多內(nèi)置變量中的兩個(gè)。

      ②、$remote_addr 變量的長度為7字節(jié)到15字節(jié),而存儲狀態(tài)在32位平臺中占用32字節(jié)或64字節(jié),在64位平臺中占用64字節(jié)。

      ③、$binary_remote_addr 變量的長度是固定的4字節(jié),存儲狀態(tài)在32位平臺中占用32字節(jié)或64字節(jié),在64位平臺中占用64字節(jié)。

      ④、1M共享空間可以保存3.2萬個(gè)32位的狀態(tài),1.6萬個(gè)64位的狀態(tài)。

      ⑤、如果共享內(nèi)存空間被耗盡,服務(wù)器將會(huì)對后續(xù)所有的請求返回 503 (Service Temporarily Unavailable) 錯(cuò)誤。

      二、limit_conn

      語法:limit_conn zone_name number

      配置段:http、server、location

      參數(shù)說明:

      zone_name:是上面limit_conn_zone 中的zone定義的(在本篇博文中也就是test)。

      number:是并發(fā)連接數(shù)量。

      該指令指定每個(gè)給定鍵值的最大同時(shí)連接數(shù),當(dāng)超過這個(gè)數(shù)字的時(shí)候會(huì)返回503(Service )錯(cuò)誤。limit_conn是對某個(gè)key對應(yīng)的總的網(wǎng)絡(luò)連接數(shù)進(jìn)行限流。可以按照IP來限制IP維度的總連接數(shù),或者按照服務(wù)域名來限制某個(gè)域名的總的連接數(shù)。(只有那些被nginx處理的且已經(jīng)讀取了整個(gè)請求頭的請求連接才會(huì)被計(jì)數(shù)器統(tǒng)計(jì))。如(同一IP同一時(shí)間只允許有20個(gè)連接):

      三、配置使用示例

      limit_conn_zone $binary_remote_addr zone=test:20m;

      主要用來定義變量、zone名稱、共享內(nèi)存大小

      limit_conn test 20;

      將前面定義的test進(jìn)行配置,并且限制同一IP并發(fā)連接數(shù)為20

      示例截圖如下:

      配置方法如下:

      ①、在nginx.conf里的http{}里加上如下代碼:

      #以下參數(shù)根據(jù)各自需求進(jìn)行對應(yīng)的選取配置,不是把下面列出的2行配置代碼都復(fù)制到對應(yīng)的http段里面去的。` `limit_conn_zone $binary_remote_addr zone=perip:10m;``limit_conn_zone $server_name zone=perserver:10m;

      ②、在需要限制并發(fā)數(shù)和下載帶寬的網(wǎng)站配置server{}里加上如下代碼:

      #以下參數(shù)根據(jù)各自需求進(jìn)行對應(yīng)的選取配置,不是把下面列出的3行配置代碼都復(fù)制到對應(yīng)的server段里面去的。` `limit_conn perip 2;``limit_conn perserver 20;``limit_rate 100k;

      補(bǔ)充說明下參數(shù):

      $binary_remote_addr 是限制同一客戶端ip地址。

      $server_name 是限制同一server最大并發(fā)數(shù)。

      limit_conn 為限制并發(fā)連接數(shù)。

      limit_rate 為限制下載速度。

      四、注意事項(xiàng)

      事務(wù)都具有兩面性的。ngx_http_limit_conn_module 模塊雖說可以解決當(dāng)前面臨的并發(fā)問題,但是會(huì)引入另外一些問題的。如前端如果有做LVS或反代,而我們后端啟用了該模塊功能,那不是非常多503錯(cuò)誤了?這樣的話,可以在前端啟用該模塊,要么就是設(shè)置白名單。

      HTTP

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:【CANN文檔速遞02期】TensorFlow一站式模型開發(fā)向?qū)?/a>
      下一篇:【CANN文檔速遞03期】帶你解鎖「訓(xùn)練網(wǎng)絡(luò)精度調(diào)優(yōu)」
      相關(guān)文章
      亚洲人成人网毛片在线播放| 亚洲国产成人va在线观看网址| 久久精品国产亚洲AV高清热 | 亚洲精品国产日韩无码AV永久免费网| 97se亚洲国产综合自在线 | 亚洲精华国产精华精华液| 亚洲精品123区在线观看| 亚洲五月综合网色九月色| 亚洲乱人伦精品图片| 亚洲一区二区久久| 亚洲人成在线中文字幕| 国产成人精品日本亚洲直接| 亚洲伊人久久大香线蕉结合| 中文字幕亚洲综合小综合在线| 亚洲国产精品免费观看| 亚洲性色AV日韩在线观看| 亚洲AV综合永久无码精品天堂| 亚洲AV噜噜一区二区三区| 国产精品亚洲专区无码WEB| 亚洲av无码专区在线电影天堂| 亚洲国产一区二区三区| 亚洲国产婷婷综合在线精品| 亚洲国产精品成人| 亚洲一区二区三区免费| 亚洲精品tv久久久久久久久 | 亚洲好看的理论片电影| 久久国产亚洲高清观看| 亚洲人成在线播放| 亚洲国产熟亚洲女视频| 亚洲av综合日韩| 亚洲精品成人网久久久久久| 亚洲爽爽一区二区三区| 4338×亚洲全国最大色成网站| 亚洲日韩精品一区二区三区 | 亚洲AV午夜成人片| 久久亚洲AV无码精品色午夜麻豆| 亚洲成年人电影在线观看| 91在线亚洲综合在线| 亚洲精品久久无码av片俺去也| 亚洲av麻豆aⅴ无码电影| 亚洲综合伊人久久大杳蕉|