We use HAProxy extensively for load balancing web services, EDI Services and Core Business applications.
We are currently migrating part of this infrastructure to Oracle Weblogic 12c, and we are wanting to move away from Browser based clients to clients that will use Java Web Start or Oracle FSAL.
Historically we would provide stickiness by setting a cookie on backend server selection sent to the client, however has it appears that Java JRE does not support storing cookies, and the second issue is that by default Oracle Weblogic 12c sends the JSESSIONID not as a cookie but part of the URL.
I could use
stick-table type ip size 1m expire 60m stick on src
To provide stickiness, however as many of the clients will be from networks that have the same IP Address (behind a NAT Gateway etc), I would prefer to not use this method.
After consulting the documentation I have tried using
stick on url_parama(jsessionid,;) table Weblogic_12c stick store-request url_parama(jsessionid,;) table Weblogic_12c
Even though, it appears the jsessionid is being captured, I am still receive an error that indicates I am being sent to the wrong server.
echo 'show table Oracle12c' | socat /var/run/haproxy.sock stdio # table: Oracle12c, type: string, size:5242880, used:1 0x7f472e241824: key=**ldmZOKB_TJJvgqOjXQbASnADK9jb8eALNK3YCxFGJGToY2_NO9nH** use=0 exp=53792 server_id=1
Has anyone any ideas how I may approach this issue?