为什么 HAproxy 在更改后不保持 cookie 会话持久性?

问题描述 投票:0回答:0

tl;dr 我更改了我的配置以将所有权重转移到新服务器 (alice) 上,期望 cookie 持久性来维持现有服务器 (bob) 上的会话,但事实并非如此。更改后的所有请求都转到 bob.

我的稳定后端配置是

backend tl2010
  server srv_tl2010a ${alice}:8040 check weight 100
  server srv_tl2010b ${bob}:8040 check weight 000
  balance source
  cookie JSESSIONID prefix nocache
  http-response set-header X-Server %s

如果我想对 alice 进行维护,我将权重更改为 alice=0,bob=100 并重新加载 (SIGUSR2)。 我期望的是新会话将在 bob 上开始,但 JSESSIONID cookie 会将现有会话粘贴到 alice。然而,发生的事情是,在重新加载后,所有请求都会立即发送给 bob。

我的配置错了吗?我是否误解了会话持久性的工作原理?重新加载的行为是否以某种方式清除了内部 cookie 关联表?

haproxy
© www.soinside.com 2019 - 2024. All rights reserved.