Hey guys a first & late joining to the list. I'd like to have a src / IP based sticky rule that uses one or two combinations of query-string / get-parameters to determine stickiness.
One (1x) query-string is specifically for session/user id's (UID) and the second (2x) to allow for specific targeting of a server thats in the concerned backend (SID). By default a leastconn balance algorithm should stick users to a server in a Backend group where no UID or SID are specified. Where both UID & SID are specified then the existing Stick entry should be overwritten with precedence toward SID for the given UID and where only `UID` is specified then any existing / prior entries should be used or the leasconn server designated for the request. In short the idea is to stick and keep user to first assigned server unless there are UID and or SID additions which should be respected I have the following two confs which I was experimenting toward a near solution: #//-------------------------------- #//- EXAMPLE 1 - leastconn #//-------------------------------- backend STICKY_HAP stick-table type ip size 20k stick on src stick on urlp(UID) balance leastconn use-server S1.my.io if { urlp(SID) 1 } use-server S2.my.io if { urlp(SID) 2 } use-server S3.my.io if { urlp(SID) 3 } server S1.my.io 127.0.0.1:58810 check server S2.my.io 127.0.0.1:58811 check server S3.my.io 127.0.0.1:58812 check #//-------------------------------- #//-------------------------------- #//- EXAMPLE 2 - url_param #//-------------------------------- backend STICKY_HAP stick-table type string len 64 size 1m stick on src stick on urlp(UID) balance url_param UID use-server S1.my.io if { urlp(SID) 1 } use-server S2.my.io if { urlp(SID) 2 } use-server S3.my.io if { urlp(SID) 3 } server S1.my.io 127.0.0.1:58810 check server S2.my.io 127.0.0.1:58811 check server S3.my.io 127.0.0.1:58812 check #//-------------------------------- I've also tried other settings such as: #//-------------------------------- appsession UID len 64 timeout 3h request-learn query-string appsession SID len 64 timeout 3h request-learn query-string #//-------------------------------- But without much luck. Thanks very much in advanced.