模块 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 的情况下,由于通常 limit_req 检查是在 auth_jwt 检查 之前 执行的,因此容易受到未签名的 JWT 导致的 DoS 攻击。使用 internal_redirect 可以重新排序这些检查。
指令
语法 |
internal_redirect |
---|---|
默认值 | — |
上下文 |
server 、location |
设置请求内部重定向的 URI。也可以使用 命名位置 而不是 URI。uri
值可以包含变量。如果 uri
值为空,则不会进行重定向。