【问题标题】:Weblogic session cookie is changing primary and secondary serversWeblogic 会话 cookie 正在更改主服务器和辅助服务器
【发布时间】:2010-12-02 16:33:39
【问题描述】:

我们在 2 个托管服务器集群中设置了 weblogic。请求通过一个负载均衡器(据说)已经为粘性会话配置。但是,我们的请求在托管节点之间被反弹,就好像没有配置粘性会话一样。

我注意到的一件事是 JSESSIONID cookie 偶尔会交换主服务器和辅助服务器的哈希值。它们应该在用户会话的整个生命周期中保持不变。

例如我们看到了

Request 1, JSESSIONID=ABCDEFG...!SERVER1HASH!SERVER2HASH
Request 2, JSESSIONID=ABCDEFG...!SERVER2HASH!SERVER1HASH
Request 3, JSESSIONID=ABCDEFG...!SERVER1HASH!SERVER2HASH

有时我们甚至会看到哈希被设置为“NONE”,就好像集群的那个成员不再存在一样:

Request 4, JSESSIONID=ABCDEFG...!SERVER1HASH!NONE

有谁知道为什么主备服务器会这样切换?

【问题讨论】:

  • 这将是负载均衡器的一个问题,它不会或无法将会话识别为与服务器 1 粘连并将其切换到服务器 2。两者之间是否有任何 apache 或其他 Web 服务器插件LB 和 Weblogic?
  • 并检查您的多播地址不是 x.0.0.1
  • 谢谢 - 想将其粘贴到答案中,我会接受吗? weblogic前面没有单独的web服务器。看起来它的负载平衡器配置不好。

标签: weblogic


【解决方案1】:

在我们过去遇到的情况中,这是负载均衡器的问题,它不会或无法将会话识别为与服务器 1 粘连并将其切换到服务器 2 . 这种行为在交通繁忙时更为明显。

有一次(大约 2003 年在 Weblogic 6.1 上),这是因为 Cluster multicast address 是 x.0.0.1 模式

经过与 BEA 人员的长期调查,发现这是问题的根源。这导致public BEA docs being updated 明确声明

不要使用任何 x.0.0.1 多播 x 介于 0 和 9 之间的地址, 包容

【讨论】:

    【解决方案2】:

    当另一个 Web 应用程序上线时更改 JSESSIONID cookie(在 weblogic.xml 中)时,我们也遇到了这个问题,但是 Apache Weblogic 插件使用默认的 WLCookieName。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-07
      相关资源
      最近更新 更多