[alibaba/tengine]limit_req问题请教

2024-07-10 98 views
7

您好,我在http 中设置了limit_req_zone $binary_remote_addr $uri zone=one:20m rate=10r/s;

在server 中设置如下:

    location @toofast {
       rewrite ^ /toofast.html;
    }

    location / {
            limit_req zone=one  forbid_action=@toofast;
            proxy_pass http://www.aaa.com;
   }

现在的问题是当一个IP 触发了限制以后,其他IP 也都被限制了。是我配置有问题么?

回答

6

嗨,有如下问题供参考:

1、你在"location /"中配置为:

proxy_pass http://www.aaa.com;

将所有流量均反向代理,将导致重定向的页面"/toofast.html"无法被访问;

2、你在配置中的反向代理和限流"forbid_action"都为重定向,请确认你的响应是否为预期内容,因为最终展示的都是"302 Found",所以不知道你所说的IP限制是否指的是该现象;

wish to be helpful

8

@kukukafei 你的tengine是否是第一层代理,如果不是第一层代理,检查下$binary_remote_addr是否为上层代理Ip?