Module 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。也可以使用命名 location 代替 URI。uri 值可以包含变量。如果 uri 值为空,则不会进行重定向。