所以,起初我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