使用nginx作为minio等图片、视频鉴权前言

打印 上一主题 下一主题

主题 1718|帖子 1718|积分 5154

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1、使用nginx作反向署理
  1. server {
  2.     listen 8080;
  3.     location /zhxy/ {
  4.         proxy_pass http://10.189.0.121:32444/zhxy/;
  5.         proxy_set_header Host $host;
  6.         proxy_set_header X-Real-IP $remote_addr;
  7.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  8.         proxy_set_header X-Forwarded-Proto $scheme;
  9.         # 提取 GET 参数中的 authorization
  10.         set $auth_token $arg_authorization;
  11.         proxy_set_header Authorization $auth_token;
  12.         # JWT 鉴权
  13.         auth_request /auth;
  14.     }
  15.     location = /auth {
  16.         internal;
  17.         proxy_pass http://localhost:2300/xxx/auth;
  18.         proxy_set_header X-Original-URI $request_uri;
  19.         proxy_set_header X-Real-IP $remote_addr;
  20.         proxy_set_header Authorization $auth_token;
  21.     }
  22. }
复制代码
2、在请求的参数中参加身份标志,可以使用header,我目前使用get参数authorization带JWT的身份信息
例如:http://10.189.0.191:32444/zhxy/xxx.jpg?authorization=jwt
3、在后端服务中增长auth接口
  1.     @GetMapping(value = "/auth", name = "鉴权")
  2.     public ResponseEntity<Void> auth(HttpServletRequest request) {
  3.         String authorization = request.getHeader("Authorization");
  4.         String token = JwtUtils.getToken(authorization);
  5.         log.info("token:{}", token);
  6.         if (StrUtil.isBlank(token)) {
  7.             return ResponseEntity.status(HttpStatus.FORBIDDEN).build();
  8.         }
  9.         return ResponseEntity.ok().build();
  10.     }
复制代码
nginx会根据auth接口返回的状态实行下一步操作

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

何小豆儿在此

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表