Re: Cookie logic error

From: Willy Tarreau <w#1wt.eu>
Date: Sun, 3 May 2009 07:14:54 +0200

No need to reply to this mail, I have already processed it in private.

Willy

On Sat, May 02, 2009 at 12:43:20AM +0400, Alexey Pechnikov wrote:
> Hello!
>
> HAProxy is work incorrect with application cookie. I have main server to setup
> "serverid" cookie for all clients by custom algorithm. But HAProxy do delete
> or replace this cookie always! There are a lot of applications with custom
> client or server cookie-based balance algorithms and so HAProxy must read and
> save these. I did read code of "manage_server_side_cookies" function but I
> can't fix it now.
>
> As example:
> cookie serverid
> appsession session len 32 timeout 3h
>
> server main 127.0.0.1:8000 check
> server work1 127.0.0.1:8001 cookie work1
> server work2 127.0.0.1:8002 cookie work2
> ...
>
> When "serverid" cookie is not find is needed to use server "main". But after
> cookie "serverid=work1" inserted by client or application is needed to use
> server "work1". I did try define "serverid" as appsession cookie (really my
> appsession cookie is other and as you can see above it's "session" cookie) but
> in "manage_server_side_cookies" function appsession is checked after! So it's
> impossible to create work configuration.
>
> I have equal Pound configuration and it's work fine:
>
> Service
> HeadRequire "Host:.*mydomain.ru.*"
> HeadRequire "Cookie: .*serverid=work1"
> BackEnd
> Address 127.0.0.1
> Port 8001
> End
> End
> Service
> HeadRequire "Host:.*mydomain.ru.*"
> HeadRequire "Cookie: .*serverid=work2"
> BackEnd
> Address 127.0.0.1
> Port 8002
> End
> End
>
> ...
>
> Service
> HeadRequire "Host:.*mydomain.ru.*"
> BackEnd
> Address 127.0.0.1
> Port 8000
> End
> End
>
> Can any help me to fix the problem?
>
> Best regards, Alexey Pechnikov.
> http://pechnikov.tel/
Received on 2009/05/03 07:14

This archive was generated by hypermail 2.2.0 : 2009/05/03 07:30 CEST