1.限制并发数,限制所有客户端IP的访问数量,防止DDOS攻击:
http{
limit_conn_zone $binary_remote_addr zone=perip:1m;
}
#$binary_remote_addr为客户端IP,以此为key存储;
#建立一个 名为perip 1M空间的并发池 , 名称可以自定义
server{
location / {
limit_conn perip 2;
}
}
#限制客户端IP的并发量是2, perip为并发池名称, 名称要同http中定义的并发池相同
2.限制速率,限制客户端IP的请求速率
http{
limit_req_zone $binary_remote_addr zone=per_req:1m rate=10r/s;
}
#$binary_remote_addr为客户端IP,以此为key存储;每个IP 请求次数限制 10次/秒
#建立一个 名为per_req1M空间的限速池 , 名称可以自定义
server{
location / {
limit_req zone=per_req burst=5 nodelay;
}
}
#限速池名称为:per_req 名称要同http定义的相同
#最大延迟请求数量不大于5,超过5个会直接返回503错误;
#若添加了nodelay,一旦有延迟立即返回503,不用等。
3.限制并发数,限制域名、同一个url并发池
http{
limit_conn_zone $server_name zone=perserver:1m; #域名并发池
limit_conn_zone $host$uri zone=peruri:1m; #相同URL线程池
}
12-31
5650
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)