Модуль ngx_http_auth_request_module
| Пример конфигурации Директивы auth_request auth_request_set  | 
Модуль 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  | 
                
|---|---|
| Умолчание: | 
            auth_request off;  | 
                
| Контекст: | 
            http, server, location | 
                
Включает авторизацию, основанную на результате выполнения подзапроса, и задаёт URI, на который будет отправлен подзапрос.
| Синтаксис: | 
            auth_request_set  | 
                
|---|---|
| Умолчание: | — | 
| Контекст: | 
            http, server, location | 
                
Устанавливает переменную в запросе в заданное
значение после завершения запроса авторизации.
Значение может содержать переменные из запроса авторизации,
например, $upstream_http_*.