У мене є система, яка завантажує балансування через cookie, але я хочу використовувати параметр URL в якості альтернативи. (Зокрема, у мене є додаткова програма, яка не підтримує файли cookie). Моє налаштування трохи складне - у мене багатокористувацька система, і я використовую стіл-таблицю з цим файлом cookie, щоб переконатися, що різні люди, що грають в одну гру, переходять на один і той же сервер. Це чудово працює, за винятком того, що параметри URL ніби нічого не роблять. Це все з гапрокси 1,5dev17
Мій відповідний сервіс:
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
option http-server-close
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
backend simulate
option httpchk OPTIONS /simulate/api/status
stick-table type string len 40 size 5M expire 30m
stick store-response set-cookie(SIMULATE_STICKY_SESSION) table simulate
stick on cookie(SIMULATE_STICKY_SESSION) table simulate
stick on url_param(SIMULATE_STICKY_SESSION) table simulate
server app1 10.0.2.11:8080 cookie app1 check inter 10000
server app2 10.0.3.11:8080 cookie app2 check inter 10000
Зауважте, що SIMULATE_STICKY_SESSION створюється моїм додатком (на основі команди гравців).
Коли я телефоную за URL-адресою, мені потрібно пройти jsessionid (щоб Tomcat знайшов правильний сеанс). Так я роблю
Здається, це не підбирає параметр липкого сеансу, оскільки 50% часу йде на неправильний сервер. Я спробував використовувати парам як рядок запиту (після знака?), Але і це не спрацювало. Що я роблю неправильно?