首页 > 解决方案 > 从 https: 重定向到 https: 时的负载均衡器 JSESSIONID 问题,某些参数导致会话无效()

问题描述

关于在我的应用程序中配置的 F5 LoadBalancing-LB,我面临以下问题。

  1. 我使用 https://Loadbalancing 托管我的应用程序 A,当我单击其中的某个链接时,它将重定向到另一个应用程序 B,其中包含一些参数和应用程序 A 的 JSESSIONID。应用程序 B 也托管在另一个 https://LoadBalancing-磅。但是,当我们转到应用程序 B 并从应用程序 B 返回应用程序 A 时,应用程序 A 的 JSESSIONID 信息丢失了,在应用程序 A 中创建了全新的 JSESSIONID 并导致无效会话。

  2. 就好像我使用 JVM 链接来执行相同的上述过程一样,它的工作就像一个魅力。当我通过 https:// jvm URL 单击应用程序 A 中的链接时,它将重定向到托管在另一个 https:// 负载平衡上的应用程序 B。但是,这次保留了应用 A 的 JSESSIONID,当从应用 B 重定向回 A 时,仍然是旧应用 A 的 JSESSIONID 仍然有效。应用 A 的最后登陆 URL 现在不是 LB url,而是一个 webserver url。( LB-->网络服务器-->jvm)

怀疑应用程序 A 的 LB url 做了一些疯狂的事情。如果有任何 LB/F5 分析师/专家在这里传播一些信息来解决这个 LB 问题,那就太好了。

标签: javahttpsjvmload-balancingf5

解决方案


任何直接到服务器的重定向都发生在服务器上,而不是 LB。

服务器改动:

  1. 应用程序服务器 > App_A_and_B> Web 容器 > 自定义属性:-> 添加“httpsIndicatorHeader - true”
  2. 应用程序服务器 > App_A_and_B > 进程定义 > Java 虚拟机 > 自定义属性 -> 添加“HttpSessionIdReuse - true”
  3. 重新启动所有 JVM.... LB 更改:禁用 LB 上的会话持久性

推荐阅读