先創建文件denyIP將過濾出的IP寫到其中然後在配置文件制定路徑
include /usr/local/nginx/conf/denyIP;
zone:=one:10m :設置一個名字爲one,大小爲100M的緩存空間
m=分鐘 s=秒 ,每分鐘兩千次請求,或每秒鐘200次請求
limit_req_zone $binary_remote_addr zone=one:100m rate=2000r/m;
定義一個名爲allips的limit_req_zone用來存儲session,大小是50M內存
limit_req_zone $binary_remote_addr zone=allips:50m rate=200r/s;
burst=5:因爲流量並不是向漏桶一樣每時每刻都是勻速的,所以爲了避免某一時刻出現大規模的流量出現,所以添加burst參數,此處配置表示爲,設置一個大小爲5的緩衝區,當有大量請求(爆發)過來時,訪問超過了上面的限制可以先放到緩衝區內。
limit_req zone=one burst=5 nodelay;