While reading about stickyness its seems like there are quite a few options.
1- balance source
2- stick on src
3- stick on payload_lv(43,1) if clienthello
4- cookie <cookie>
5- stick on req.cook(<cookie>)
6- appsession <cookie>

But while the last 3 options can all use a 'normal' cookie. It seems only the appsession can process a "ASPSESSIONIDxxxx=yyyy".

While the stick-table can be synchronized between multiple haproxy instances and also has the ability to 'survive' a reload of the configuration and a inserted cookie doesn't need any in memory table to be matched to the correct backend. Only the 'appsession' will loose all needed information to succesfully persist a client to a single backend and isn't able to sync.

Ive read that appsession will be deprecated [1], will this happen anytime 'soon'? And if so what can be configured to match the way it finds and handles cookies.?

As far as i could see "req.cook(<cookie>)" cannot match on the prefix of a cookie-name like appsession and "capture cookie" are able to do.? Or is there a other more generic option i overlooked.? I did see cook_beg but that only checks the prefix of the value not the name.

The question is because i want to change configuration-webgui in a pfSense haproxy-devel package and want to include some "easy to configure" persistence options.. but want to know if there is a alternative to appsessions so everything can be done with either cookies and sticktables.

[1] http://serverfault.com/questions/550910/haproxy-appsession-vs-cookie-precedence

Reply via email to