nginx防止DDOS攻击

什么是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状态码,如果一秒钟一个请求,就是正常访问。

猜你喜欢

转载自www.cnblogs.com/wnwn/p/12291358.html