java - 从 https: 重定向到 https: 时的负载均衡器 JSESSIONID 问题,某些参数导致会话无效()
问题描述
关于在我的应用程序中配置的 F5 LoadBalancing-LB,我面临以下问题。
我使用 https://Loadbalancing 托管我的应用程序 A,当我单击其中的某个链接时,它将重定向到另一个应用程序 B,其中包含一些参数和应用程序 A 的 JSESSIONID。应用程序 B 也托管在另一个 https://LoadBalancing-磅。但是,当我们转到应用程序 B 并从应用程序 B 返回应用程序 A 时,应用程序 A 的 JSESSIONID 信息丢失了,在应用程序 A 中创建了全新的 JSESSIONID 并导致无效会话。
就好像我使用 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 问题,那就太好了。
解决方案
任何直接到服务器的重定向都发生在服务器上,而不是 LB。
服务器改动:
- 应用程序服务器 > App_A_and_B> Web 容器 > 自定义属性:-> 添加“httpsIndicatorHeader - true”
- 应用程序服务器 > App_A_and_B > 进程定义 > Java 虚拟机 > 自定义属性 -> 添加“HttpSessionIdReuse - true”
- 重新启动所有 JVM.... LB 更改:禁用 LB 上的会话持久性
推荐阅读
- php - 如何使用 Laravel 7 Mail 向多个用户发送电子邮件?
- weasyprint - WeasyPrint 无法加载图像/css:名称解析暂时失败
- c++ - 宏不允许在其参数中使用逗号分隔的定义吗?
- gnuplot - 使用 multiplot 堆叠 XRD 图:讨论 eps 终端中出现的随机文本
- java - 升级 Eclipse 和 Java 后,带有 Freetts 的 Java 示例不起作用
- ios - XCode 生成证书并立即撤销它们
- python-3.7 - Tomotopy Module not FoundError: No module named any of '_tomotopy_avx2', '_tomotopy_avx', '_tomotopy_sse2', '_tomotopy_none'
- python - macOS - Python 3.9.2 和通过自制软件在 Mac 上安装 PyOpenSSL
- google-cloud-platform - 如何解决谷歌云存储上传错误?
- odoo - 保存模板以在 Odoo 14 中导出