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 关联表?