通过Nginx权限认证拦截资源
阅读原文时间:2023年08月29日阅读:3

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。

流程参考:

上述仅供参考!

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章