认证请求#

根据子请求的结果实现客户端授权。如果子请求返回 2xx 响应代码,则允许访问。如果返回 401 或 403,则拒绝访问,并返回相应的错误代码。子请求返回的任何其他响应代码都被视为错误。

对于 401 错误,客户端还会收到来自子请求响应的 "WWW-Authenticate" 头。

从源代码构建 时,该模块默认未构建;应通过 ‑‑with‑http_auth_request_module 构建选项 启用。

在来自 我们的仓库 的包和镜像中,模块已包含在构建中。

该模块可以与其他访问模块组合,例如 访问控制基础认证,通过 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 $variable value;

默认值

上下文

http, server, location

在授权请求完成后,将请求变量设置为给定值。值可以包含来自授权请求的变量,例如 $upstream_http_*