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

编辑于:2021年12月12日
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 的访问频率控制!

相关推荐