nginx配置訪問頻率
阿新 • • 發佈:2018-12-06
頻率 serve 文件 次數 rem oca 文件的 zone 返回
nginx可以通過limit_conn_zone和limit_req_zone兩個組件來限制客戶端訪問服務端的目錄和文件的頻率和次數,能夠抵擋住部分cc、ddos攻擊。
限制訪問頻率:
http{ ... #定義一個名為allips的limit_req_zone用來存儲session,大小是10M內存, #以$binary_remote_addr 為key,限制平均每秒的請求為20個, #1M能存儲16000個狀態,rete的值必須為整數, #如果限制兩秒鐘一個請求,可以設置成30r/m limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s; ... server{ ... location { ... #限制每ip每秒不超過20個請求,漏桶數burst為5 #brust的意思就是當每秒超過20個請求時,5個以內的請求會被延遲訪問,超過5個的直接返回503 #nodelay,設置該選項,將嚴格使用平均速率限制請求數,超過請求頻率的直接返回503 limit_req zone=allips burst=5 nodelay; ... } ... } ... }
#註意配置的作用域
限制並發連接數:
http{ ... #定義一個名為all_zone的limit_zone,大小10M內存來存儲session, #nginx 1.18以後用limit_conn_zone替換了limit_conn limit_conn_zone all_zone $binary_remote_addr 10m; ... server{ ... location { ... limit_conn all_zone 20; #連接數限制 #帶寬限制,對單個連接限數,限制帶寬上限500k limit_rate 500k; ... } ... } ... }
配置訪問白名單:
nginx配置訪問頻率