通过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_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。

流程参考:

 上述仅供参考!

 

posted @   M`sakura~  阅读(433)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程使用 AI 从 0 到 1 写了个小工具
· 快收藏!一个技巧从此不再搞混缓存穿透和缓存击穿
· AI 插件第二弹,更强更好用
· Blazor Hybrid适配到HarmonyOS系统
· 支付宝 IoT 设备入门宝典(下)设备经营篇
点击右上角即可分享
微信分享提示