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?
Best Answer
HAProxy 1.5 (the current development version) implements stickiness on response with the
stick store-response
command. The command would be like this:Disclaimer: the above is based on reading the docs, not tested on an actual HAProxy installation.