Модуль http_auth_request

Модуль http_auth_request#

Предоставляет возможность авторизации клиента, основанной на результате подзапроса. Если подзапрос возвращает код ответа 2xx, доступ разрешается. Если 401 или 403 — доступ запрещается с соответствующим кодом ошибки. Любой другой код ответа, возвращаемый подзапросом, считается ошибкой.

При ошибке 401 клиенту также передается заголовок «WWW-Authenticate» из ответа подзапроса.

При сборке из исходного кода модуль необходимо включить с помощью параметра сборки ‑‑with‑http_auth_request_module. В пакетах из наших репозиториев модуль включен в сборку.

Модуль может быть скомбинирован с другими модулями доступа, такими как http_access и auth_basic с помощью директивы satisfy.

Пример конфигурации#

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#

Синтаксис:

auth_request uri | off;

Умолчание:

auth_request off;

Контекст:

http, server, location

Включает авторизацию, основанную на результате выполнения подзапроса, и задает URI, на который будет отправлен подзапрос.

auth_request_set#

Синтаксис:

auth_request_set $переменная значение;

Умолчание:

Контекст:

http, server, location

Устанавливает переменную в запросе в заданное значение после завершения запроса авторизации. Значение может содержать переменные из запроса авторизации, например, $upstream_http_*.