国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Nginx服務器中限制連接數與限制請求的模塊配置教程

2024-08-30 12:26:16
字體:
來源:轉載
供稿:網友

限制連接數的ngx_http_limit_conn_module模塊
我們經常會遇到這種情況,服務器流量異常,負載過大等等。對于大流量惡意的攻擊訪問,會帶來帶寬的浪費,服務器壓力,影響業務,往往考慮對同一個ip的連接數,并發數進行限制。下面說說ngx_http_limit_conn_module 模塊來實現該需求。該模塊可以根據定義的鍵來限制每個鍵值的連接數,如同一個IP來源的連接數。并不是所有的連接都會被該模塊計數,只有那些正在被處理的請求(這些請求的頭信息已被完全讀入)所在的連接才會被計數。
一. ngx_http_limit_conn_module指令解釋
1. limit_conn_zone
語法:

limit_conn_zone $variable zone=name:size;

默認值: none
配置段: http
該指令描述會話狀態存儲區域。鍵的狀態中保存了當前連接數,鍵的值可以是特定變量的任何非空值(空值將不會被考慮)。$variable定義鍵,zone=name定義區域名稱,后面的limit_conn指令會用到的。size定義各個鍵共享內存空間大小。如:

limit_conn_zone $binary_remote_addr zone=addr:10m;

注釋:客戶端的IP地址作為鍵。注意,這里使用的是$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指令同等意思,已經被棄用,就不再做說明了。
2. limit_conn_log_level
語法:

limit_conn_log_level info | notice | warn | error

默認值:error
配置段:http, server, location
當達到最大限制連接數后,記錄日志的等級。
3. limit_conn
語法:

limit_conn zone_name number

默認值:none
配置段:http, server, location
指定每個給定鍵值的最大同時連接數,當超過這個數字時被返回503 (Service Temporarily Unavailable)錯誤。如:

limit_conn_zone $binary_remote_addr zone=addr:10m;server { location /www.ttlsa.com/ {  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;}            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 若羌县| 石嘴山市| 河东区| 平利县| 兴海县| 元谋县| 芦溪县| 临沧市| 青海省| 大埔区| 周至县| 杨浦区| 桂阳县| 铅山县| 宁国市| 广平县| 牟定县| 榆社县| 大洼县| 正安县| 磐安县| 景泰县| 临湘市| 台东市| 孙吴县| 桐柏县| 和静县| 康定县| 永胜县| 蓝山县| 绥滨县| 成安县| 广宁县| 法库县| 龙陵县| 延川县| 屏边| 潜山县| 北流市| 五峰| 织金县|