cr644022131 2021-06-23 10:41 采纳率: 33.3%
浏览 73

使用nginx 做代理登录出现了问题(求解)

nginx 配置如下

 upstream crserver {   
	  #ip_hash; 
      server 127.0.0.1:8090;
      server 127.0.0.1:8091;   
    }

代码如下:

@Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
       /* Config config = new Config();
        config.useSingleServer()
                .setAddress("redis://127.0.0.1:6379");
        RedissonClient redissonClient = Redisson.create(config);
        String resourceName="REDLOCK_KEY";
        RLock lock= redissonClient.getLock(resourceName);
        RedissonRedLock redLock = new RedissonRedLock(lock);
        boolean isLock;
        try { // isLock = redLock.tryLock(); // 500ms拿不到锁, 就认为获取锁失败。10000ms即10s是锁失效时间。
            isLock = redLock.tryLock(500, 10000, TimeUnit.MILLISECONDS);
            log.info("lock is "+isLock);
            if (isLock) {
                log.info("JWTFilter  doFilterInternal  :time:"+ DateFormatUtils.format(new Date(),"yyyy-MM-dd hh:mm:ss"));
                //从url中根据参数获取值
                String jwt = obtainParameter(request, GlobalConstant.jwt);
                Authentication authentication=null;
                if (StringUtils.hasText(jwt)) {
                    getAuthentication( jwt ,response);

                }
                filterChain.doFilter(request, response);
            }
        } catch (Exception e) {
            log.error(e.getMessage());
        } finally {
            redLock.unlock();
        }*/
        log.info("JWTFilter  doFilterInternal  :time:"+ DateFormatUtils.format(new Date(),"yyyy-MM-dd hh:mm:ss"));
        //从url中根据参数获取值
        String jwt = obtainParameter(request, GlobalConstant.jwt);
        Authentication authentication=null;
        if (StringUtils.hasText(jwt)) {
            getAuthentication( jwt ,response);

        }
        filterChain.doFilter(request, response);
    }

现象如下:

 8090 机器日志:

2021-06-23 10:35:07.550  INFO 13580 --- [nio-8090-exec-1] c.e.d.config.security.filter.JWTFilter   : JWTFilter  doFilterInternal  :time:2021-06-23 10:35:07
2021-06-23 10:35:07.637  INFO 13580 --- [nio-8090-exec-2] c.e.d.config.security.filter.JWTFilter   : JWTFilter  doFilterInternal  :time:2021-06-23 10:35:07
2021-06-23 10:35:07.670  INFO 13580 --- [nio-8090-exec-3] c.e.d.config.security.filter.JWTFilter   : JWTFilter  doFilterInternal  :time:2021-06-23 10:35:07
2021-06-23 10:35:07.679  INFO 13580 --- [nio-8090-exec-4] c.e.d.config.security.filter.JWTFilter   : JWTFilter  doFilterInternal  :time:2021-06-23 10:35:07
2021-06-23 10:35:07.687  INFO 13580 --- [nio-8090-exec-5] c.e.d.config.security.filter.JWTFilter   : JWTFilter  doFilterInternal  :time:2021-06-23 10:35:07
2021-06-23 10:35:07.696  INFO 13580 --- [nio-8090-exec-6] c.e.d.config.security.filter.JWTFilter   : JWTFilter  doFilterInternal  :time:2021-06-23 10:35:07

8091机器日志:

2021-06-23 10:35:07.604  INFO 16892 --- [nio-8091-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2021-06-23 10:35:07.604  INFO 16892 --- [nio-8091-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2021-06-23 10:35:07.606  INFO 16892 --- [nio-8091-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms
2021-06-23 10:35:07.626  INFO 16892 --- [nio-8091-exec-1] c.e.d.config.security.filter.JWTFilter   : JWTFilter  doFilterInternal  :time:2021-06-23 10:35:07
2021-06-23 10:35:07.665  INFO 16892 --- [nio-8091-exec-2] c.e.d.config.security.filter.JWTFilter   : JWTFilter  doFilterInternal  :time:2021-06-23 10:35:07
2021-06-23 10:35:07.675  INFO 16892 --- [nio-8091-exec-3] c.e.d.config.security.filter.JWTFilter   : JWTFilter  doFilterInternal  :time:2021-06-23 10:35:07
2021-06-23 10:35:07.683  INFO 16892 --- [nio-8091-exec-4] c.e.d.config.security.filter.JWTFilter   : JWTFilter  doFilterInternal  :time:2021-06-23 10:35:07
2021-06-23 10:35:07.692  INFO 16892 --- [nio-8091-exec-5] c.e.d.config.security.filter.JWTFilter   : JWTFilter  doFilterInternal  :time:2021-06-23 10:35:07

问题:

为什么在doFilterInTernal 直接相互调用导致无法登录

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 17:52
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价