nginx可以通过
ngx_http_limit_conn_module
和
ngx_http_limit_req_module
配置来限制ip在同一时间段的访问次数.
ngx_http_limit_conn_module
:该模块用于限制每个定义的密钥的连接数,特别是单个IP地址的连接数.使用limit_conn_zone和limit_conn指令.
ngx_http_limit_req_module
:用于限制每一个定义的密钥的请求的处理速率,特别是从一个单一的IP地址的请求的处理速率。使用“泄漏桶”方法进行限制.指令:limit_req_zone和limit_req.
1、在nginx.conf里的http{}里加上如下代码:
-
limit_conn_zone $binary_remote_addr zone=perip:10m;
-
limit_conn_zone $server_name zone=perserver:10m;
2、在需要限制并发数和下载带宽的网站配置server{}里加上如下代码:
-
limit_conn perip 2;
-
limit_conn perserver 20;
-
limit_rate 100k;
补充说明下参数:
- $binary_remote_addr是