ngx_http_auth_request_module
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。
在版本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 | 关闭; |
---|---|
默认: | auth_request关闭; |
语境: | http,服务器,位置 |
根据子请求的结果启用授权,并设置子请求将发送到的URI。
句法: | auth_request_set $变量值; |
---|---|
默认: | — |
语境: | http,服务器,位置 |
在授权请求完成后将请求设置为variable
给定value
。该值可能包含授权请求的变量,例如$upstream_http_*
。