ฉันมีระบบที่โหลดบาลานซ์ผ่านคุกกี้ แต่ฉันต้องการใช้พารามิเตอร์ URL เป็นทางเลือก (โดยเฉพาะฉันมีแอพพลิเคชั่นส่วนหน้าซึ่งไม่รองรับคุกกี้) การตั้งค่าของฉันค่อนข้างซับซ้อน - ฉันมีระบบผู้เล่นหลายคนและฉันใช้ตารางแท่งกับคุกกี้นี้เพื่อให้แน่ใจว่าผู้คนที่เล่นเกมเดียวกันต่างไปที่เซิร์ฟเวอร์เดียวกัน ใช้งานได้ดียกเว้นว่าพารามิเตอร์ URL ดูเหมือนจะไม่ทำอะไรเลย นี่คือทั้งหมดที่มี haproxy 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% ของเวลาไปยังเซิร์ฟเวอร์ที่ไม่ถูกต้อง ฉันลองใช้พารามิเตอร์เป็นสตริงการสืบค้น (หลังเครื่องหมาย?) แต่ก็ไม่ได้ผล ผมทำอะไรผิดหรือเปล่า?