Nginx

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_*