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