Я использую haproxy в качестве балансировщика нагрузки для 3 серверов приложений, и до того, как клиентский трафик достигнет этого балансировщика нагрузки, он сначала попадет в WAF, который имеет несколько случайных распределенных IP-адресов. Таким образом, при обновлении соединения исходный сеанс может перейти на другой сервер из-за изменений файлов cookie сеанса, чего я не хочу, чтобы это произошло.
Поставщик WAF посоветовал мне либо установить идентификатор сеанса балансировщика нагрузки, чтобы использовать X-Real-IP при создании файлов cookie сеанса. Или удалить комбинацию 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