Ok that's exactly what I wanted to do.
The default cookie name in PHP is session.name = PHPSESSID Is it this cookie name that I should set in HAProxy config ? Thomas. On Fri, Mar 11, 2011 at 4:55 PM, Guillaume Bourque < guillaume.bour...@gmail.com> wrote: > Hi Thomas, > > We do it like this, haproxy add a cookie, and base on the cookie it will > send it to teh same web server > > I'm no haproxy expert but it work for us with a very basic php application. > > here are the related config in our haproxy > > > backend bk-prod > balance roundrobin > cookie SERVERID insert indirect nocache > server lb10-3w-101 172.21.11.101:80 cookie lb11-3w-101 > check inter 5s fall 3 maxconn 200 weight 20 > server lb10-3w-102 172.21.11.102:80 cookie lb11-3w-102 > check inter 5s fall 3 maxconn 200 weight 20 > > > This will load balance in a round robin way but a second pass from the > same visitor will end up on the same server which will do what you want. > > Good luck ! > > > > 2011/3/11 Thomas Manson <dev.mansontho...@gmail.com> > > Hi Gabriel, >> >> I've read that HAProxy is capable of keeping a set of http request >> directed to the same webserver. (I think the feature is called 'Sticky >> Session' on Websphere Cluster) >> >> I've seen this in the documentation : >> >> appsession <cookie> len <length> timeout <holdtime> >>> >>> >>> >>> >>> [request-learn] [prefix] [mode <path-parameters|query-string>] >>> * Define session stickiness on an existing application cookie.* >>> >>> >> I'm just looking for some howto/best practices on this subject. >> >> Also the shared session with memcache can be a valid option. (I've to dig >> this subject). >> >> So, can anyone confirm that it's possible or not possible to have a >> "sticky session" feature with HAProxy ? >> If possible : howto/best practice? >> If not : well I'll try the memcache solution ;) >> >> Thanks for your help, >> Regards, >> Thomas. >> >> >> >> >> On Fri, Mar 11, 2011 at 16:19, Gabriel Sosa <sosagabr...@gmail.com>wrote: >> >>> this is not an HAProxy related problem >>> >>> What you need is to share the session across all webservers. You have >>> several ways to do it: memcache, redis, db, filesystem. >>> >>> We currently are using memcache for this >>> >>> check your php.ini for "session.save_handler" >>> >>> we have something like: >>> >>> session.save_handler = memcache >>> session.save_path = "tcp://mmc-server-01:11211,tcp://mmc-server-02:11211" >>> >>> some more info: http://php.net/manual/en/session.configuration.php >>> >>> Once you do this, haproxy will keep using the same algorithm to balance >>> but webservers will be able to find/reuse the session users were on. >>> >>> Saludos >>> >>> >>> >>> On Fri, Mar 11, 2011 at 11:37 AM, Thomas Manson < >>> dev.mansontho...@gmail.com> wrote: >>> >>>> Hi, >>>> >>>> I've setup HAProxy to loadbalance the traffic across two web servers >>>> that runs some PHP website (based on JOOMLA, OSCommerce and some other >>>> solution) >>>> >>>> However I've noticed that the session affinity is not working Out Of >>>> The BOX (which after 2sec of think is quite logical ;)) >>>> >>>> Does anybody have some pointers to configure HAProxy (and if necessary >>>> PHP) to make this work ? >>>> >>>> Thanks, >>>> Thomas. >>>> >>> >>> >>> >>> -- >>> Gabriel Sosa >>> Si buscas resultados distintos, no hagas siempre lo mismo. - Einstein >>> >> >> > > > -- > Guillaume Bourque, B.Sc., > consultant, infrastructures technologiques libres > Logisoft Technologies inc. http://www.logisoftech.com > 514 576-7638, http://ca.linkedin.com/in/GuillaumeBourque/fr > >