詳解nginx的請求限制(連線限制和請求限制)
這篇文章主要介紹了詳解nginx的請求限制(連線限制和請求限制),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
一,背景
二,配置語法
1,http_limit_conn_module指令解釋
limit_conn_zone
語法: limit_conn_zone $variable zone=name:size;
預設值: none
配置段: http
該指令描述會話狀態儲存區域。鍵的狀態中儲存了當前連線數,鍵的值可以是特定變數的任何非空值(空值將不會被考慮)。$variable定義鍵,zone=name定義區域名稱,後面的limit_conn指令會用到的。size定義各個鍵共享記憶體空間大小。如:
limit_conn_zone b i n a r y r e m o t e a d d r z o n e = a d d r : 1 m ; 注 釋 : 客 戶 端 的 I P 地 址 作 為 鍵 。 注 意 , 這 裡 使 用 的 是 binary_remote_addr變數,而不是$remote_addr變數。
$remote_addr變數的長度為7位元組到15位元組,而儲存狀態在32位平臺中佔用32位元組或64位元組,在64位平臺中佔用64位元組。
$binary_remote_addr變數的長度是固定的4位元組,儲存狀態在32位平臺中佔用32位元組或64位元組,在64位平臺中佔用64位元組。
1M共享空間可以儲存3.2萬個32位的狀態,1.6萬個64位的狀態。
如果共享記憶體空間被耗盡,伺服器將會對後續所有的請求返回 503 (Service Temporarily Unavailable) 錯誤。
limit_zone 指令和limit_conn_zone指令同等意思,已經被棄用,就不再做說明了。
limit_conn_log_level
語法:limit_conn_log_level info | notice | warn | error
預設值:error
配置段:http, server, location
當達到最大限制連線數後,記錄日誌的等級。
limit_conn
語法:limit_conn zone_name number
預設值:none
配置段:http, server, location
指定每個給定鍵值的最大同時連線數,當超過這個數字時被返回503 (Service Temporarily Unavailable)錯誤。如:
limit_conn_zone $binary_remote_addrzone=addr:10m;server{ location /{ limit_conn addr 1; }}
同一IP同一時間只允許有一個連線。
當多個 limit_conn 指令被配置時,所有的連線數限制都會生效。比如,下面配置不僅會限制單一IP來源的連線數,同時也會限制單一虛擬伺服器的總連線數:
limit_conn_zone $binary_remote_addr zone=perip:10m;limit_conn_zone $server_name zone=perserver:10m;server { limit_conn perip 10; limit_conn perserver 100;}
[warning]limit_conn指令可以從上級繼承下來。[/warning]
limit_conn_status
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69911024/viewspace-2637505/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx如何限制併發連線請求數?Nginx
- Kubernetes資源請求與限制
- CORS跨域限制以及預請求驗證CORS跨域
- 對請求來源進行白名單限制
- Laravel5.0 限制請求頻率中介軟體Laravel
- 對於瀏覽器請求介面限制,是否有必要開發一套請求工作管理員元件,自主的去控制請求的併發,保證在瀏覽器允許的最大併發連線數限制之中,避免請求阻塞和資源搶佔。瀏覽器元件
- 使用 Promise 實現任務佇列傳送請求,實現最大請求數目限制Promise佇列
- 微信小程式解除 10 個請求併發限制了?!微信小程式
- NGINX限制連線的實踐 (Defense DDOS)Nginx
- Laravel最佳實踐 -- API請求頻率限制(Throttle中介軟體)LaravelAPI
- Nginx速度限制Nginx
- Http請求體詳解HTTP
- 23行程式碼實現一個帶併發數限制的fetch請求函式行程函式
- Kubernetes中如何使用CPU請求和限制? - daniele
- nginx執行請求的工作原理之location匹配詳解Nginx
- DNS 請求報文詳解DNS
- Python中get、post請求詳解(HTTP請求頭、狀態碼)PythonHTTP
- HTTP請求頭和響應頭詳解HTTP
- nginx 反向代理 介面請求Nginx
- 不到50行程式碼實現一個能對請求併發數做限制的通用RequestDecorator行程
- 請求OpenFeign的GET請求時,請求為何失敗?
- SpringMVC中如何傳送GET請求、POST請求、PUT請求、DELETE請求。SpringMVCdelete
- linux如何處理多連線請求?Linux
- 為限制和連續做好準備
- 有趣的請求引數/請求頭
- Nginx請求處理流程你瞭解嗎?Nginx
- nginx 中配置請求重定向Nginx
- NGINX如何配置跨域請求Nginx跨域
- php curl 連線 EMQ http_api的請求PHPMQHTTPAPI
- React Native請求Https請求不通怎麼解決React NativeHTTP
- 限制單個IP併發TCP連線的方法TCP
- js fetch非同步請求使用詳解JS非同步
- 介面請求 (get、post、head 等) 詳解
- 介面請求(get、post、head等)詳解
- nginx遮蔽特定http_referer的請求NginxHTTP
- Linux apache怎麼限制併發連線和下載速度LinuxApache
- 如何根據介面請求型別和請求方法,自動執行對應請求型別
- ajax中設定請求頭和自定義請求頭