Модуль ngx_http_auth_request_module
Модуль ngx_http_auth_request_module (1.5.4+) реализует авторизацию клиента на основе результата подзапроса. Если подзапрос возвращает код ответа 2xx, доступ разрешен. Если возвращается 401 или 403, доступ запрещён с соответствующим кодом ошибки. Любой другой код ответа подзапроса рассматривается как ошибка.
Для ошибки 401 клиент также получает заголовок «WWW-Authenticate» из ответа подзапроса.
Этот модуль не включён по умолчанию, его следует активировать параметром конфигурации --with-http_auth_request_module.
Модуль можно комбинировать с другими модулями доступа, такими как ngx_http_access_module, ngx_http_auth_basic_module и ngx_http_auth_jwt_module, с помощью директивы satisfy.
До версии 1.7.3 ответы на подзапросы авторизации не могли кэшироваться (используя proxy_cache, proxy_store и т.д.).
Пример конфигурации
location /private/ {
auth_request /auth;
...
}
location = /auth {
proxy_pass ...
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
Директивы
| Синтаксис: | auth_request uri | off; |
|---|---|
| По умолчанию: | auth_request off; |
| Контекст: | http, server, location |
Включает авторизацию на основе результата подзапроса и задаёт URI, на который будет отправлен подзапрос.
| Синтаксис: | auth_request_set $variable value; |
|---|---|
| По умолчанию: | — |
| Контекст: | http, server, location |
Устанавливает запрос variable на заданный value после завершения запроса авторизации. Значение может содержать переменные из запроса авторизации, такие как $upstream_http_*.
© 2002-2021 Igor Sysoev
© 2011-2024 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/http/ngx_http_auth_request_module.html