Nginx根据请求参数限流

2022/8/9 5:52:43

本文主要是介绍Nginx根据请求参数限流,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
##黑名单
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;
}


这篇关于Nginx根据请求参数限流的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


原文链接: https://www.cnblogs.com/wshenjin/p/16563211.html
扫一扫关注最新编程教程