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 ;#监听端口
#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 "no ok";#返回403表示验证不通过 200表示验证通过
}
satisfy 指令
syntax: all | any 注: all 所有验证模块通过才允许放行 any 只要一个模块验证通过就放行
default all;
context: http,server,location
注:satisfy 指令只要针对 三个模块判断 auth_request模块 access模块 auth_basic模块