DDOS攻擊也稱作分布式拒絕服務攻擊,除非真的得罪了某些利益團體,想通過DDOS攻擊整垮你,否則一般的不成規模的DDOS攻擊還是可以防禦的。
首先在Nginx中,可以通過限制單個IP連接配接數、IP請求頻率和拒絕IP通路來應對,具體的配置可參考如下:
1.限制單個IP的連接配接數:
limit_conn_zone $binary_remote_addr zone=conn_zone:10m;
server {
limit_conn conn_zone 100;
}
以上配置将限制來自同一IP的連接配接數為100。
2.限制請求率:
limit_req_zone $binary_remote_addr zone=req_zone:10m rate=10r/s;
server {
limit_req zone=req_zone;
}
以上配置将限制同一IP的請求速率為每秒10個請求。
3.拒絕通路:
geo $bad_ips {
default 0;
2 . 2 . 2 . 2 1;
3 . 3 . 3 . 3 1;
}
server {
if ($bad_ips) {
return 404;
}
}
以上配置可以拒絕指定IP的通路。
另外,還可以根據請求特征拒絕可疑請求,啟用防火牆進行流量清洗等。
如果仍然得不到緩解,可以考慮繼續采取進一步措施,例如:
1.啟用keepalive,增大每個worker的連接配接數上限。
2.啟用壓縮功能,減少傳輸流量,釋放帶寬。
3.部署CDN分散流量,防止源站過載。
4.啟用一些防DDoS服務,例如:阿裡雲盾
#妙筆生花創作挑戰#