我使用 haproxy 作为 3 个应用程序服务器的负载均衡器,在客户端流量到达此负载均衡器之前,它将首先命中一个 WAF,该 WAF 具有多个随机分布式 IP。因此,当连接更新时,由于会话 cookie 的更改,原始会话可能会跳转到另一台服务器,我不希望这种情况发生。
WAF 供应商建议我在制作会话 cookie 时将负载均衡器的会话标识符设置为使用 X-Real-IP。或者从标识中删除 IP 组合以制作我不知道该怎么做的会话 cookie。可以给我建议吗?
下面是我的 haproxy 设置。
frontend http_frontend
bind *:80
acl url_static path_beg -i /static /images /javascript /stylesheets
acl url_static path_end -i .jpg .gif .png .css .js
use_backend static if url_static
default_backend bk_http
frontend https_frontend
bind *:443
mode tcp
default_backend bk_https
backend static
balance roundrobin
server static 127.0.0.1:4331 check
backend bk_http
mode http
balance roundrobin
stick on src table bk_https
cookie SRVNAME insert
server web1 ip1:80 check cookie SA check
server web2 ip2:80 check cookie SB check
backend bk_https
mode tcp
balance leastconn
stick-table type ip size 2000k expire 30m
stick on src
default-server inter 1s
cookie SRVNAME insert
server web1 ip1:443 check cookie web1
server web2 ip2:443 check cookie web2