什么是DDOS攻击
DDoS攻击是Distributed Denial of Service的缩写,翻译成中文就是分布式拒绝服务。即不法黑客组织通过控制服务器等资源,发动对包括国家骨干网络、重要网络设施、政企或个人网站在内的互联网上任一目标的攻击,致使目标服务器断网,最终停止提供服务。
攻击手段
1.通过使网络过载来干扰甚至阻断正常的网络通讯;
2.通过向服务器提交大量请求,使服务器超负荷;
3.阻断某一用户访问服务器;
3.阻断某服务与特定系统或个人的通讯;
如何应对DDOS攻击
防止DDoS攻击有很多种方法,比如使用高防服务器、CDN加速、DDoS清洗等。但是由于经费的限制,我们整不起那些个高大上的玩意,所以只能在我们现有的材料上加工加工来达到应对DDoS攻击的目的。
nginx防止DDOS攻击
配置nginx.conf文件
#防止ddos攻击
#限制IP的每秒请求次数
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
#限制同一个IP同一时间内创建连接次数
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
listen 81;
server_name www.ddos.com;
location /a {
limit_conn addr 1; #同一时间内只能建立一次连接
limit_req zone=one;
proxy_pass http://www.aproject.com:8080/welcome.jsp;
index index.html index.htm;
}
}
$binary_remote_addr:二进制远程地址;
zone=one:10m:定义zone名字叫one,并为这个zone分配了内存,用来存储会话(二进制远程地址),1m内存可以保存16000会话;
rate=1r/s:限制频率为每秒1个请求;
注:因为设置了1秒钟一个连接,如果一秒钟超过一个请求的话,就是报503状态码,如果一秒钟一个请求,就是正常访问。