Nginx基于http响应状态码做权限控制的auth_request模块
基于子请求收到的HTTP响应码做访问控制
默认并未编译进Nginx,通过--with-http-auth-request-module启用
location / {
root html;
index index.html index.htm;
auth_request /auth;
}
location /auth {
#return 403 "error";
return 200 "success"
}
实际应用中,/auth中一般通过反向代理到鉴权服务器来返回状态码判断是否通过验证
location /private/ {
auth_request /auth;
}
location /auth {
proxy_pass http://127.0.0.1:8080/verify;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URL $request_uri;
}