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 |
|---|---|
| 默认值 | — |
| 上下文 |
server, location |
设置请求内部重定向的 URI。也可以使用命名 location 代替 URI。uri 值可以包含变量。如果 uri 值为空,则不会进行重定向。