Nginx官方版本限制IP的连接和并发分别有两个模块:
limit_req_zone 用来限制单位时间内的请求数,即速率限制,采用的漏桶算法 "leaky bucket"。
limit_req_conn 用来限制同一时间连接数,即并发限制。
举一个例子,你自己理解下:
一次只允许每个IP地址一个连接。
limit_conn_zone?$binary_remote_addr?zone=perip:10m;????
limit_conn_zone?$server_name?zone=perserver:10m;????
server?{????????
...????????
limit_conn?perip?10;????????
limit_conn?perserver?100;????
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…