nginx 对访问的 cookie 进行频率限制

目录

  limit_req 对 IP 进行频率访问限制容易误伤正常用户,如果访问的 cookie 里面带有对用户唯一区别的 id,我们可以利用 limit_req 进行更
精确的控制。

配置

# 获取作为区别用户的 cookie
map $http_cookie $cookie {
        default   "";
        "~x_id="   $cookie_x_id;
        "~y_id="   $cookie_y_id;
}

# 使用获取的 cookie 进行频率限制
limit_req_zone  $cookie  zone=one_1:300m   rate=3r/s;

server {
......
        limit_req   zone=one_1  burst=10 nodelay;
......
}

目录