使用Nginx限制同一IP的访问频率
Posted Milton
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Nginx限制同一IP的访问频率相关的知识,希望对你有一定的参考价值。
http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html
http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
配置方法
修改nginx的配置文件, 在http{}下增加
# 创建一个10MB大小的请求记录zone, 限制同一IP的访问每分钟60次 limit_req_zone $binary_remote_addr zone=req_perip:10m rate=60r/m; # 创建一个10MB大小的连接数记录zone, 记录同一IP的同时连接数 limit_conn_zone $binary_remote_addr zone=con_perip:10m;
在server{} 或 location{} 下增加
# 对指定的zone, 设置突发余量限制为5, 不延迟统计 limit_req zone=req_perip burst=5 nodelay; # 对指定的zone, 限制同时连接数不超过1 limit_conn conperip 1;
注: 对于设定了连接数限制的, 检查 worker_processes 的值, 如果这里设置的数值还不到连接数的限制, 连接数限制永远不会被触发.
以上是关于使用Nginx限制同一IP的访问频率的主要内容,如果未能解决你的问题,请参考以下文章
Nginx如何配置除某个IP之外,其他IP,同一IP访问频率限制为30次/每秒
网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击