Nginx 如何对单个 url 的访问频率进行限制

近期有不法人员针对公司的登录地址进行非法暴力破解,所以本人加上了登录页面的单个 ip 的频率限制写法如下!

http 模块中加入:

http
    {
    #定义一个名为allips的limit_req_zone用来存储session,大小是10M内存,
    #1M能存储16000个状态,rete的值必须为整数,
    #限制两秒钟一个请求,设置成30r/m
       ......
        limit_req_zone $binary_remote_addr zone=g6k:10m rate=30r/m;
       ......
    }

在 server 模块中匹配需要限制的 url:

#限制URL /login 的访问频率
location  /login {
    limit_req zone=g6k burst=5 nodelay;
}

添加好后记得使用一下命令检查配置文件和重载配置

nginx -t 
nginx -s reload

基本就实现了对单个 url 的访问频率控制!

相关推荐

Nginx 对 IP 和 URL 进行访问频率的限制

Nginx 对 IP 和 URL 进行访问频率的限制

HttpLimitReqModul 为 nginx 官方自带的限制单位时间内请求次数的功能模块,通过 limit_req_zone 和 limit_req 命令配合使用来达到限制。一旦对应的累计连接超过指定数量,就会返回 503 错误。可以利用该规则对 IP 和 URL 进行访问频率的限制。 1. 限制规则 limit_req_zone $binary_remote_addr zone=ip_second:10m rate=10 ...

使用 Nginx 限流模块 limit_req_zone 来限制单位时间内的请求数目/速度/连接数

使用 Nginx 限流模块 limit_req_zone 来限制单位时间内的请求数目/速度/连接数

根据 nginx 官网提供的说法,有两种算法,一种是漏桶算法,一种是令牌桶算法。limit_req_zone 用来限制单位时间内的请求数目,以及速度限制;limit_req_conn 用来限制同一时间连接数,即并发限制。 1. 限流算法介绍 1.1 令牌桶算法 令牌桶: 1.2 漏桶算法 漏桶算法: 相比漏桶算法,令牌桶算法不同之处在于它不但有一只“桶”,还 ...

Nginx 资源请求限制:链接数/请求速率/宽带

Nginx 资源请求限制:链接数/请求速率/宽带

前置条件: nginx 需要有 ngx_http_limit_conn_module 和 ngx_http_limit_req_module 模块,可以使用命令 2>&1 nginx -V | tr ' ' '\n'|grep limit 检查有没有相应模块,如果没有请重新编译安装这两个模块。 测试版本为:nginx 版本为 1.15+ 1. 限制链接数 1.使用 limit_conn_zone 指令定义密钥并设置共享内存区域的参数( ...

解析 Nginx limit_req 模块的 burst 参数,实现限制 IP 地址 URL 访问频率

解析 Nginx limit_req 模块的 burst 参数,实现限制 IP 地址 URL 访问频率

漏斗算法(Leaky Bucket),该算法有两种处理方式 Traffic Shaping 和 Traffic Policing 在桶满水之后,常见的两种处理方式为: 将水看作网络通信中数据包的抽象,则 方式1 起到的效果称为 Traffic Shaping ,方式2 起到的效果称为 Traffic Policing。由此可见,Traffic Shaping的核心理念是"等待",Traffic Policing 的核 ...

微信扫一扫,分享到朋友圈

Nginx 如何对单个 url 的访问频率进行限制