模块 ngx_http_auth_request_module
Example Configuration Directives auth_request auth_request_set |
该ngx_http_auth_request_module
模块(1.5.4+)根据子请求的结果实现客户端授权。如果子请求返回2xx响应码,则表示允许访问。如果返回401或403,则表示访问被拒绝,并显示相应的错误代码。子请求返回的任何其他响应代码都被视为错误。
对于 401 错误,客户端还会从子请求响应中收到“WWW-Authenticate”标头。
该模块不是默认构建的,需要通过
--with-http_auth_request_module
配置参数启用。
该模块可以通过satify指令 与其他访问模块组合,例如 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 |
---|---|
默认: |
auth_request off; |
语境: |
http , server ,location |
启用基于子请求结果的授权并设置子请求将发送到的 URI。
句法: |
auth_request_set |
---|---|
默认: | — |
语境: |
http , server ,location |
授权请求完成后将请求设置variable
为给定值
value
。该值可能包含来自授权请求的变量,例如$upstream_http_*
。