通過下面nginx模塊的使用,我們可以設置一旦並發鏈接數超過我們的設置,將返回503錯誤給對方。
這樣可以非常有效的防止CC攻擊。在配合iptables防火牆,基本上CC攻擊就可以無視了。
Nginx限制ip鏈接數,Nginx如何限制並發數,同1個IP,nginx怎麼限制流量/限制帶寬?
如何Nginx限制同一個ip的連接數,限制並發數目:
2016.11.16 更新:nginx自從1.1.8版本發佈後將limit_conn更換為limit_conn_zone 。對應則需要修改設定檔。
1.添加 limit_zone
這個變量只能在http使用
#vi /etc/nginx/nginx.conf
QUOTE:
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_req_zone $binary_remote_addr zone=peripreq:10m rate=1r/s;
2.添加 limit_conn
這個變量可以在http, server, location使用
我只限制一個站點,所以添加到 server 裡面
限制一個IP 只能有 20個 Connection
# vi /etc/nginx/conf.d/adj.conf
QUOTE:
limit_conn perip 20;
#同一個IP只許建立20個連接
limit_req zone=peripreq burst=200 nodelay;
#每秒請求200個,超過返回503
3. 重新啟動 Nginx 就可以了
再來就是壓力測試...請參考這篇說明:
http://dz.adj.idv.tw/thread-171-1-1.html