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_cacheproxy_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。

流程参考:

 上述仅供参考!