使用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的访问频率

网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击

nginx 访问频率控制

网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击

nginx 限制ip请求某个url的频率