Модуль 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 может быть подвержена DoS-атакам при помощи неподписанных JWT, так как проверка limit_req выполняется перед проверкой auth_jwt. Использование internal_redirect позволяет изменить порядок этих проверок.
Директивы
| Синтаксис: |
internal_redirect |
|---|---|
| Умолчание: | — |
| Контекст: |
server, location |
Задаёт URI для внутреннего перенаправления запроса.
Вместо URI также можно использовать
именованный location.
В значении uri можно использовать переменные.
Если значение uri пустое,
то перенаправление не осуществляется.