Nginx對網(wǎng)段內(nèi)ip的連接數(shù)限流如何配置

今天小編給大家分享一下Nginx對網(wǎng)段內(nèi)ip的連接數(shù)限流如何配置的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的崇州網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

nginx中的所謂連接數(shù)限制,其實(shí)是tcp連接,也就是請求方通過三次握手后成功建立的連接狀態(tài)。nginx一般為我們提供了 ngx_http_limit_conn_module 模塊來提供限制連接功能。該模塊可以根據(jù)定義的鍵來限制每個鍵值的連接數(shù),如同一個ip來源的連接數(shù)。

ngx_http_limit_conn_module指令解釋

syntax:  limit_conn zone number;
default:  —
context:  http, server, location

該指令描述會話狀態(tài)存儲區(qū)域。鍵的狀態(tài)中保存了當(dāng)前連接數(shù),鍵的值可以是特定變量的任何非空值(空值將不會被考慮)。$variable定義鍵,zone=name定義區(qū)域名稱。 常見使用例子:

limit_conn_zone $binary_remote_addr zone=addr:10m;

server {
  location /download/ {
    limit_conn addr 1;
  }

上面例子表示當(dāng)請求訪問 /download/ 時, 同一時刻只能一個請求連接會成功進(jìn)行資源下載。

網(wǎng)段限制

常見的limit_conn_zone 配置一般設(shè)置 $binary_remote_addr 或 $server_name,進(jìn)行單一ip或主機(jī)級的連接數(shù)限制。

但有時候我們希望能對某ip網(wǎng)段進(jìn)行連接數(shù)限制,那我們可以這么做:

http {

... ...

  limit_conn_zone $ip_segment zone=network_segment:10m;

  server {
      ... ...
      set $ip_segment $remote_addr;

      if ( $ip_segment ~ ^(\d+)\.(\d+)\.(\d+)\.(\d+) ) {
        set $ip_segment $1.$2.$3;
      }

      location /download/ {
        limit_conn network_segment 10; 
        #limit_rate 200k;
      }

  }
}

這樣基本能滿足nginx對網(wǎng)段內(nèi)所有ip的連接數(shù)做統(tǒng)一的連接數(shù)限制了。

以上就是“Nginx對網(wǎng)段內(nèi)ip的連接數(shù)限流如何配置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享文章:Nginx對網(wǎng)段內(nèi)ip的連接數(shù)限流如何配置
分享鏈接:http://bm7419.com/article48/jdcchp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化網(wǎng)站設(shè)計、網(wǎng)站導(dǎo)航、移動網(wǎng)站建設(shè)做網(wǎng)站、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計