ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Nginx根据请求参数限流

2022-08-08 20:02:00  阅读:380  来源: 互联网

标签:index 请求 zone userid access Nginx 限流 limit log


根据业务方的需求,针对/user/login/api.php路径下,userid=(1234567890|1234567891|1234567892)的接口做IP请求限制。

##黑名单
geo $remote_addr $deny_remote_addr {
    172.25.8.0/16 1;
    10.250.11.92   1;
    default 0;
}

map $deny_remote_addr$request_uri $userid {
    ~*^1/user/login/api.php?.*\buserid=(1234567890|1234567891|1234567892)\b.* "X";
    default "";
}

limit_req_zone $userid zone=userid_limit_zone:10m rate=100r/m;

server {
    listen       80;
    server_name  limit.example.com;

    index index.html index.htm index.php;
    root /data/web/api/;

    location ~ /user/login/
    {
         limit_req zone=gameid_limit_zone burst=30 nodelay;
         if ($gameid = "X") {
             access_log /data/logs/$host.limit.log access;
         }
    }
    access_log /data/logs/$host.log access;
}

标签:index,请求,zone,userid,access,Nginx,限流,limit,log
来源: https://www.cnblogs.com/wshenjin/p/16563211.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有