通过Nginx权限认证拦截资源
nginx认证转发模块
Module ngx_http_auth_request_module 详细参考官网 ngx_http_auth_request_module (nginx.org)
模块 (1.5.4+) 实现 基于子请求结果的客户端授权。 如果子请求返回 2xx 响应代码,则允许访问。 如果返回 401 或 403, 访问被拒绝,并显示相应的错误代码。 子请求返回的任何其他响应代码都被视为错误。对于 401 错误,客户端还会收到 子请求响应中的“WWW-身份验证”标头。
默认情况下不构建此模块,应使用配置参数启用。 --with-http_auth_request_module
在版本 1.7.3 之前,无法缓存对授权子请求的响应 (使用proxy_cache、proxy_store等)。
举例:
# 需要认证拦截的映射 location /minio { # 鉴权 auth_request /auth; # 鉴权成功后转发地址 proxy_pass http://minio;
... } # 鉴权映射 location = /auth { # 鉴权服务器的地址 proxy_pass ... proxy_pass_request_body off; proxy_set_header Content-Length ""; proxy_set_header X-Original-URI $request_uri; }
根据子请求的结果启用授权并设置 子请求将发送到的 URI。
流程参考:
上述仅供参考!