模块 ngx_http_internal_redirect_module

示例配置
Directives
internal_redirect

模块 (1.23.4) 允许 进行internal重定向。 与重写 URI 相比, 在检查请求连接处理限制后进行重定向, 和访问限制。ngx_http_internal_redirect_module

此模块作为我们商业订阅的一部分提供。

示例配置

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 允许对这些检查重新排序。

Directives

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

设置请求internal重定向的 URI。 也可以使用命名位置而不是 URI。 该值可以包含变量。 如果值为空,则 则不会进行重定向。uriuri