模組 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 值為空,則不會進行重新導向。