haproxy 粘性会话具有 1 个后端但多个 ACL

haproxy 粘性会话具有 1 个后端但多个 ACL

我有两个子域“www.example.com”和“something.example.com”,但在 haproxy 配置中,它们使用相同的后端,具有相同的 cookie 设置。如果我停留在其中一个上,我可以通过 cookie 验证我在哪个服务器上,哪个服务器保持“粘性”,但是当我移动到另一个服务器时,我似乎失去了粘性,然后要么最终在一台服务器上,要么在另一台服务器上

这是我当前的设置:ACL:

acl acl_website    hdr(Host) www.example.com
acl acl_something     hdr(Host) something.example.com

然后在这里我告诉 haproxy 对两者使用相同的后端

use_backend website_farm if acl_website
use_backend website_farm if acl_something

然后是具有 cookie 信息的后端:

backend website_farm
    balance roundrobin
    cookie qa-aspc insert indirect
    option httpchk HEAD /heartbeat.php HTTP/1.0
    http-check disable-on-404
    option redispatch
    server web01 web01.example.com:80 cookie 01 check fall 2 inter 2000 fastinter 1000
    server web02 web02.example.com:80 cookie 02 check fall 2 inter 2000 fastinter 1000

所以问题是,如果我在两个不同的子域之间切换,我就会失去粘性。有没有办法在 haproxy 中保持两个子域之间的粘性?

相关内容