如何清除“粘性” HAProxy 会话?

如何清除“粘性” HAProxy 会话?

所以,起初haproxy.cfg看起来像这样(片段):

frontend https_in
    mode http
    option httplog
    option forwardfor
    bind 192.168.150.2:443 ssl crt /etc/haproxy/ssl_cert/star_some_domain.pem crt /etc/haproxy/ssl_cert/star_sub_some_domain.pem
    acl host_git      hdr(host) -i git.some.domain
    acl host_kibana   hdr(host) -i kibana.sub.some.domain

    use_backend gitserver if host_git
    use_backend kibanaserver if host_kibana

    default_backend webserver1

的后端webserver1超载了,所以我们将一些域名移到了新的服务器上,最新 haproxy.cfg看起来像这样(片段):

frontend https_in
    mode http
    option httplog
    option forwardfor
    bind 192.168.150.2:443 ssl crt /etc/haproxy/ssl_cert/star_some_domain.pem crt /etc/haproxy/ssl_cert/star_sub_some_domain.pem
    acl host_git      hdr(host) -i git.some.domain
    acl host_kibana   hdr(host) -i kibana.sub.some.domain
    acl is_website    hdr(host) -i sub.some.domain
    acl is_website    hdr(host) -i www.sub.some.domain
    
    use_backend gitserver if host_git
    use_backend kibanaserver if host_kibana
    use_backend websrv if is_website

    default_backend webserver1

# "websrv" and "webserver1" are different backends

最令人困惑的是,一些浏览器似乎坚持/重定向到“webserver1”后端而不是“websrv”后端;打开私人浏览器/隐身模式会正确重定向到“websrv”。

所以我怀疑正在发生某种“粘性会话”。

我如何列出和/或清除这些“粘性会话”?

答案1

您没有显示您的 stick table 配置或服务器线路配置。它更可能是您真实服务器上的 cookie?

要显示表格,请使用:

echo "show table Abuse" | socat unix-connect:/var/run/haproxy.stat stdio

要清除条目,请使用:

echo "clear table  Abuse key 127.0.0.1" | socat unix-connect:/var/run/haproxy.stat stdio

相关内容