Auth Request#

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

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

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

Модуль может быть скомбинирован с другими модулями доступа, такими как 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_*.