Nginx ACCESS阶段 统一的用户权限验证系统

本文详细介绍如何使用Nginx的http_auth_request_module模块进行权限验证。通过auth_request指令,Nginx能向指定的上游服务器发送子请求,依据上游服务器的响应决定是否允许请求继续。文中提供了一个具体示例,展示如何配置Nginx监听8090端口并进行反向代理权限验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

L59

 

 

需要编译到Nginx --with-http_auth_request_module

功能介绍:

主要当收到用户请求的时候 通过反向代理方式生成子请求至上游服务器,如果上游服务器返回2xx 则验证通过 可以继续执行下去 如果返回错误码是401或403则将相应返回用户

auth_request 指令

syntax:auth_request uri | off;

default: off;

context: http,server,location

auth_request_set 指令

syntax :$variable value;

context:http,server,location

访问 8090端口 将反向代理到 http://192.168.0.49/auth_upstream  如果返回200 则就继续执行下去

server
  {
        listen 8090;#监听端口
        #root html/;
        location / {
                auth_request /test_auth; #这里反向代理指向下面的路径
        }
        location = /test_auth {
                proxy_pass http://192.168.0.49/auth_upstream;
                proxy_pass_request_body off;
                proxy_set_header Content-Length "";
                proxy_set_header X-Original-URI $request_uri;

        }
}

反向代理权限验证服务器代码示列

location /auth_upstream {
                return 403 "no ok";#返回403表示验证不通过 200表示验证通过
        }

satisfy 指令

syntax: all | any   注: all 所有验证模块通过才允许放行   any 只要一个模块验证通过就放行

default all;

context: http,server,location

注:satisfy 指令只要针对 三个模块判断  auth_request模块  access模块 auth_basic模块   

 

转载于:https://www.cnblogs.com/jackey2015/p/10374227.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值