通过nginx做身份验证网关的方法

通过在nginx中,设置auth_request 参数。可以实现身份验证。

events{}
http{

server {
listen 80; #监听端口;
server_name localhost; #服务器名称或域名;
location / {
auth_request /auth; #要跳转的路由路径;
proxy_pass http://localhost:52744/Auth;
}
#身份验证判断用户名和密码的方法的地址。此处例子登陆成功后跳转到/api/token/validate;
location /Auth/Login {
proxy_pass http://localhost:52744/Auth/Login;
# Login service returns a redirect to the original URI
# and sets the cookie for the ldap-auth daemon
proxy_set_header X-Target $request_uri;
}
#身份验证成功后的地址,可以后台的api。只要能判断是否验证成功就行;
location /api/token/validate {
proxy_pass http://localhost:52744/api/token/validate;
# Login service returns a redirect to the original URI
# and sets the cookie for the ldap-auth daemon
proxy_set_header X-Target $request_uri;
}
#执行身份验证的登陆页面地址,此处的页面会提交表单到/Auth/Login;
location /auth {
internal;
proxy_pass http://localhost:52744/Auth;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Target $request_uri;
}

}
}

posted @ 2022-11-16 20:40  过错  阅读(991)  评论(0)    收藏  举报