模块 ngx_http_internal_redirect_module

配置示例
指令
     internal_redirect

模块 ngx_http_internal_redirect_module(1.23.4 版本)允许进行内部重定向。与重写URI不同,重定向是在检查请求连接处理限制以及访问限制后进行的。

此模块可作为我们的商业订阅的一部分获得。

配置示例

limit_req_zone $jwt_claim_sub zone=jwt_sub:10m rate=1r/s;

server {
    location / {
        auth_jwt          "realm";
        auth_jwt_key_file key.jwk;

        internal_redirect @rate_limited;
    }

    location @rate_limited {
        internal;

        limit_req  zone=jwt_sub burst=10;
        proxy_pass http://backend;
    }
}

该示例实现了按用户速率限制。没有使用internal_redirect的实现易受未签名JWT的DoS攻击影响,因为通常limit_req检查是在auth_jwt检查之前进行的。使用internal_redirect允许重新排序这些检查。

指令

语法: internal_redirect uri;
默认:
上下文: server, location

设置用于内部重定向请求的URI。也可以使用命名位置而不是URI。如果uri值为空,则不会进行重定向。