nginx如何做防ddos拦截
nginx做防ddos拦截的方法:
在nginx.conf中新增配置,限制每秒的请求数,可通过ngx_http_limit_req_module模块的漏桶原理来限制单位时间内请求数,一旦单位时间内请求数超过限制就会返回503错误,添加配置如下:
http{limit_req_zone$binary_remote_addrzone=one:10mrate=100r/s;//触发条件,所有访问ip限制每秒100个请求
...
server{
...
location~\.php${
limit_reqzone=oneburst=5nodelay;//执行的动作,通过zone名字对应
}
}
}
如果是限制单个IP的连接数,配置如下:
http{limit_conn_zone$binary_remote_addrzone=addr:10m;//触发条件
...
server{
...
location/download/{
limit_connaddr2;//限制同一时间内2个连接,超出的连接返回503
}
}
}