LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

Nginx代理秒加auth认证,安全升级超简单

admin
2026年5月8日 11:22 本文热度 79

文章目录

  • 前言
  • 一、nginx 校验 auth_request
  • 二、使用步骤
    • 1.安装nginx
    • 2.配置代理验证
  • 总结

前言

由于大多数前后端分离项目都需要nginx做代理,所以nginx 的应用非常广泛,然而有时候,我们为了集成第三方的门户,以及用户验证,不得不需要通过nginx 做一层包装,假装是一个整体,然后为了尽量减少代码改动,所以需要在nginx层做代理的时候,需要进行转发前的token 用户信息校验。


一、nginx 校验 auth_request

nginx 是通过 auth_request 实现用户校验的

我们通过源码的方式安装nginx,然后加入auth 模块的支持

二、使用步骤

1.安装nginx

具体安装可以参考: nginx安装

其中 --with-http_auth_request_module 就是加入auth的模块支持,这样就ok了。

2.配置代理验证

配置思路如下:

  1. 所有请求去掉代理前缀  /api
  2. 获取请求中的携带的token(请求头、拼接)
  3. 根据auth_reqeust 验证token合法性
  4. 判断合法性。合法继续代理,不合法直接返回错误,不再继续代理改请求

 server {        listen       8080;        server_name  localhost;        location / {            root   html;            index  index.html index.html;            try_files $uri $uri/ /index.html; # 刷新页面404 处理        }	   location /api/ {	   	  # token赋值给临时变量 token	      set $token $arg_token;	      auth_request /auth;	      # 通过/auth 验证后如果状态码是约定的错误如402 500 等,自定义返回错误		  error_page 402 500 = @error401;		  # 转发原始请求到后端服务          proxy_pass http://127.0.0.1:8080/;	  }         # 认证子请求        location = /auth {            # 内部请求            internal;            # 构造 POST 请求发送给认证服务            proxy_pass http://127.0.0.1:8080/user/token; # 替换为实际的验证 URL            proxy_method POST;            proxy_pass_request_body off;	        proxy_set_header Content-Length "";	        proxy_set_header X-Original-URI token;  # 传递token	        # http_authorization;  # 传递Token到鉴权服务        }# 自定义返回错误信息 或者 错误页面        location @error401 {	        add_header Set-Cookie "NSREDIRECT=$scheme://$http_host$request_uri;Path=/";	        return 424 "token expired";	        #  return 302 http://127.0.0.1:8080/index;	    }    }


总结

这样就通过了auth_request对转发的请求做了用户认证,有利于做门户网站的集成,以及增加了安全性;

重点来了!!!
 如果不是第一次安装,而是第二次编译(已经是启动状态), 光重启是没用的,必须关掉nginx 然后启动

./nginx -s stop./nginx


阅读原文:https://mp.weixin.qq.com/s/iSo1bEOkTov2dVI6JzJt2A


该文章在 2026/5/8 11:22:20 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-9  粤公网安备44030602007207号