首页 > 解决方案 > 每个区域单独的 limit_req_status - nginx 节流

问题描述

我正在测试 nginx 速率限制示例。该指令limit_req_status可以为超出区域速率限制的请求返回自定义错误消息。我已经定义了 2 个区域(limit1 和 limit2)。

是否可以为每个区域返回不同的错误消息?

这是我目前拥有的

location /login/ {
    limit_req zone=limit1 burst=20 nodelay;
    limit_req zone=limit2 burst=10;

    limit_req_status 444;
}

这就是我要的

location /login/ {
    limit_req zone=limit1 burst=20 nodelay;
    limit_req zone=limit2 burst=10;

    limit_req_status 444; # if limit1 is breached
    limit_req_status 4xx; # if limit2 is breached
}

标签: nginxnginx-locationthrottlingrate-limiting

解决方案


推荐阅读