亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

nginx 限速之limit_conn的使用

 更新時間:2023年10月24日 11:21:20   作者:木華思流年  
通過nginx我們有三種限速方式分別是: 限制請求數(shù)(request),限制連接數(shù)(connection),限制響應(yīng)速度(rate),本文就來介紹一下nginx 限速之limit_conn的使用,ngx_http_limit_conn_module 模塊主要是用于根據(jù)特定的key來限制連接的數(shù)量,感興趣的可以了解一下

在工作中經(jīng)常會遇到用戶大量請求某個接口和一些大流量的惡意攻擊,可以通過nginx對同一個ip的連接數(shù),請求,進行限制.

通過nginx我們有三種限速方式分別是: 限制請求數(shù)(request),限制連接數(shù)(connection),限制響應(yīng)速度(rate),分別對應(yīng)nginx的limit_req,limit_conn和limit_rate三個模塊,limit_conn和limit_req模塊類似,有許多指令組成一個大的模塊,兩個模塊之間很多指令的命名方式和用法大同小異.

ngx_http_limit_conn_module 模塊主要是用于根據(jù)特定的key來限制連接的數(shù)量,如根據(jù)ip地址來限制連接數(shù).需注意的是并不是所有的連接都會被算入其中,只有當(dāng)一個連接的整個請求頭被讀取并且已經(jīng)被nginx服務(wù)器處理的時候才會被算入限制中.

1. ngx_http_limit_conn_module模塊

1. limit_conn_zone 指令

#語法配置
Syntax: limit_conn_zone key zone=name:size;
Defaule: -
Context: http  #作用域

limit_conn_zone $binary_remote_addr zone=${name}:10m #示例

說明:

  •  limit_conn_zone:  只能夠在http塊用使用
  •  key: 可以設(shè)置為$variable使用Nginx內(nèi)置變量作為鍵(一般經(jīng)常使用客戶端ip地址作為鍵:$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萬個32位的狀態(tài),1.6萬個64位的狀態(tài))。zone=name定義區(qū)域名稱(名稱隨意起,在limit_conn配置項中調(diào)用時對應(yīng)就好),size定義各個鍵共享內(nèi)存空間大小。如果共享內(nèi)存空間被耗盡,服務(wù)器將會對后續(xù)所有的請求返回 503 (Service Temporarily Unavailable) 錯誤。
  • name: 就是這個zone的命名,name需要全局唯一,limit_conn 命令根據(jù)name來查找對應(yīng)zone進行相應(yīng)限制規(guī)則的匹配.
  • size:  定義這個zone的大小,也就是nginx會在內(nèi)存中開辟多大的空間來存儲這個zone的相應(yīng)信息,主要和前面定義的key的大小有關(guān)系,需要注意的是當(dāng)內(nèi)存帶下耗盡的時候,nginx會直接返回錯誤碼limit_conn_status給后續(xù)的請求(If the zone storage is exhausted, the server will return the error to all further requests.)

2. limit_conn指令

Syntax:  limit_conn zone number;  #語法
Default:
Context: http,server,location  #作用域

說明:

  • limit_conn: 使用由limit_conn_zone定義的攔截規(guī)則,并設(shè)置具體的限制連接數(shù)量,當(dāng)超過這個數(shù)字時返回503(server)的錯誤.定義的存儲區(qū)域key對應(yīng)的總的網(wǎng)絡(luò)連接數(shù)進行限流??梢园凑誌P來限制IP維度的總連接數(shù),或者按照服務(wù)域名來限制某個域名的總的連接數(shù)(只有那些被nginx處理的且已經(jīng)讀取了整個請求頭的請求連接才會被計數(shù)器統(tǒng)計,在http,server,location三個塊中使用,但是要搭配limit_conn_zone使用
  • zone: 是在limit_conn_zone中的name變量,對應(yīng)這全局唯一的zone,負責(zé)確定限制連接數(shù)的依據(jù)
  • number: 限制的連接數(shù),zone和number組合就可以完成連接數(shù)的限定功能,注意number必須是數(shù)字而不能使用變量.

示例:

 limit_conn_zone $binary_remote_addr zone=addr:10m;
 ?
 server {
     location /download/ {
         limit_conn addr 1;
     }

3. limit_conn_log_level指令

Syntax:	limit_conn_log_level  info|notice|warn|error  #語法
Default:    limit_conn_log_level error;   #默認
Context:	http, server, location  #作用域

功能: 當(dāng)達到最大限制規(guī)則的連接數(shù)后,記錄日志的等級。會輸出到error.log中而不是access.log,調(diào)成info的話會有較多的日志輸出,需要額外注意硬盤容量等相關(guān)問題。

4.limit_conn_status指令

Syntax:	limit_conn_status code
Context:	http, server, location
Default:	limit_conn_status 503

功能:當(dāng)超過限制規(guī)則后,返回的響應(yīng)狀態(tài)碼,默認是503,如果是一些有特殊需求的場景,可以手動調(diào)整為403之類的狀態(tài)碼,需要注意的是并不是所有的狀態(tài)碼都可以使用,nginx官方限定狀態(tài)碼必須在400到599之間。

5.limit_conn_dry_run指令

 Syntax: limit_conn_dry_run on | off;
 Default:    limit_conn_dry_run off;
 Context:    http, server, location
 This directive appeared in version 1.17.6.

功能: dry_run模式的意義在于試運行而不對線上業(yè)務(wù)造成影響。設(shè)置為on之后,前面的limit_conn指令并不會真正生效,但是limit_conn_zone指令會生效,nginx會在內(nèi)存中存儲計算相關(guān)的數(shù)據(jù).

到此這篇關(guān)于nginx 限速之limit_conn的使用的文章就介紹到這了,更多相關(guān)nginx limit_conn內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于nginx獲取代理服務(wù)ip以及客戶端真實ip詳解

    基于nginx獲取代理服務(wù)ip以及客戶端真實ip詳解

    最近在研究nginx中如何獲取真實客戶端IP的方法,下面這篇文章主要給大家介紹了基于nginx獲取代理服務(wù)ip以及客戶端真實ip的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • Ubuntu環(huán)境下安裝部署Nginx詳細步驟(有網(wǎng))

    Ubuntu環(huán)境下安裝部署Nginx詳細步驟(有網(wǎng))

    Nginx是一個開源的?HTTP?網(wǎng)絡(luò)服務(wù)器,下面這篇文章主要給大家介紹了關(guān)于Ubuntu環(huán)境下安裝部署Nginx(有網(wǎng))的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • nginx http響應(yīng)限速的具體實現(xiàn)

    nginx http響應(yīng)限速的具體實現(xiàn)

    本文主要介紹了nginx http響應(yīng)限速的具體實現(xiàn),可以使用limite_rate和limit_rate_after來限制HTTP響應(yīng)的速度,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • 前端必備Nginx配置詳解

    前端必備Nginx配置詳解

    這篇文章主要介紹了前端必備Nginx配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • nginx+tomcat實現(xiàn)Windows系統(tǒng)下的負載均衡搭建教程

    nginx+tomcat實現(xiàn)Windows系統(tǒng)下的負載均衡搭建教程

    下面小編就為大家分享一篇nginx+tomcat實現(xiàn)Windows系統(tǒng)下的負載均衡搭建教程,具有很好的參考價值,希望對大家有所幫助
    2017-12-12
  • 為什么 Nginx 比 Apache 更牛

    為什么 Nginx 比 Apache 更牛

    為什么Nginx在處理高并發(fā)方面要優(yōu)于httpd,我們先從兩種web服務(wù)器的工作原理以及工作模式說起。對Nginx對比 Apache的相關(guān)知識感興趣的朋友跟隨小編一起看看吧
    2021-02-02
  • 總結(jié)Nginx 的使用過程中遇到的問題及解決方案

    總結(jié)Nginx 的使用過程中遇到的問題及解決方案

    這篇文章主要總結(jié)了Nginx 的使用過程中遇到的問題及解決方案,非常的簡單實用,以后遇到相關(guān)問題還會繼續(xù)更新,希望大家收藏關(guān)注
    2014-10-10
  • Nginx 流量鏡像使用的方法示例

    Nginx 流量鏡像使用的方法示例

    Nginx流量鏡像技術(shù)可以在不影響原始請求的情況下復(fù)制請求數(shù)據(jù),用于數(shù)據(jù)分析、安全監(jiān)控等方面,本文就來介紹一下Nginx 流量鏡像使用的方法示例,感興趣的可以了解一下
    2024-10-10
  • 若依部署Nginx和Tomcat全過程

    若依部署Nginx和Tomcat全過程

    文章總結(jié)了兩種部署方法:Nginx部署和Tomcat部署,Nginx部署包括打包、將dist文件拉到指定目錄、配置nginx.conf等步驟,Tomcat部署包括前端打包、將文件拉到webapps目錄、訪問測試等步驟,文章還解決了前后端無法通信和404問題
    2024-12-12
  • Linux中Nginx的防盜鏈和優(yōu)化的實現(xiàn)代碼

    Linux中Nginx的防盜鏈和優(yōu)化的實現(xiàn)代碼

    今天是周末小編在值班哈,很開森,工作使我快樂,本文重點給大家介紹Linux中Nginx的防盜鏈和優(yōu)化問題及實現(xiàn)代碼,需要的朋友跟隨小編一起看看吧
    2021-06-06

最新評論