I'm investigating HAProxy as a possible replacement for F5. F5 is capable of persisting a session based on a response header value:
when HTTP_RESPONSE {
set session [HTTP::header X-Session]
if {$session ne ""} {
persist add uie $session
}
}
and then route all subsequent requests which contain the same session ID in a header, query parameter, path, etc. to the same machine, eg:
when HTTP_REQUEST {
set session [findstr [HTTP::path] "/session/" 9 /]
if {$session} {
persist uie $session
}
}
I'm wondering if this is even possible to do with HAProxy?