Re: [haproxy] - persistance - Application Cookie

From: ronan <ronan#kerambrun.net>
Date: Fri, 07 Dec 2007 15:41:39 +0100


Hi,
thanks for your help.

After enable Debug mode,

First, I had this.



./haproxy -f /etc/haproxy.cfg.bis -db -Vd Available polling systems :
     sepoll : pref=400,  test result OK
      epoll : pref=300,  test result OK
       poll : pref=200,  test result OK
     select : pref=150,  test result OK

Total: 4 (4 usable), will use sepoll.
Using sepoll() as the polling mechanism. Dumping hashtable 0x5314b8

        table[1869]: ED192E59C7D48C2238615EA8BEA1E768; Path=/plate-forme2 -> 0x54a5c0
.
[ALERT] 340/143047 (19651) : Found Application Session without matching
server.
[ALERT] 340/143218 (19651) : Found Application Session without matching
server.
Dumping hashtable 0x5314b8

        table[193]: ED192E59C7D48C2238615EA8BEA1E768; __utmz=46370481.11 -> 0x5312b0

        table[1869]: ED192E59C7D48C2238615EA8BEA1E768; Path=/plate-forme2 -> 0x54a5c0

        table[1963]: 093A462E6593CE3B7C79D39A5118EE51; Path=/plate-forme2 -> 0x55c070
.
[ALERT] 340/143256 (19651) : Found Application Session without matching
server.
Dumping hashtable 0x5314b8

        table[193]: ED192E59C7D48C2238615EA8BEA1E768; __utmz=46370481.11 -> 0x5312b0

        table[307]: F4076F2EB661A1D20C9ECBC93009E1C9; Path=/plate-forme2 -> 0x531350

        table[359]: 093A462E6593CE3B7C79D39A5118EE51; __utmz=46370481.11 -> 0x553640

        table[1869]: ED192E59C7D48C2238615EA8BEA1E768; Path=/plate-forme2 -> 0x54a5c0

        table[1963]: 093A462E6593CE3B7C79D39A5118EE51; Path=/plate-forme2 -> 0x55c070
.
[ALERT] 340/143312 (19651) : Found Application Session without matching
server.
[ALERT] 340/143312 (19651) : Found Application Session without matching
server.
[ALERT] 340/143314 (19651) : Found Application Session without matching
server.
[ALERT] 340/143552 (19651) : Found Application Session without matching
server.
[ALERT] 340/143552 (19651) : Found Application Session without matching
server.
[ALERT] 340/143554 (19651) : Found Application Session without matching
server.
[ALERT] 340/143634 (19651) : Found Application Session without matching
server.
[ALERT] 340/143636 (19651) : Found Application Session without matching
server.
[ALERT] 340/143637 (19651) : Found Application Session without matching
server.
[ALERT] 340/143641 (19651) : Found Application Session without matching
server.
[ALERT] 340/143642 (19651) : Found Application Session without matching
server.


Haproxy seems to dont match the correct cookie in the table (because of the context path of the cookie). So I reduced the "appsession len " from 52 Bytes to only 20 Bytes, to only capture part of the cookie hash, and now, it works fine :)



Dumping hashtable 0x5314b8
        table[1124]:    85DD418D9B844D08FEFD    -> 0x54a610
        table[1572]:    F4076F2EB661A1D20C9E    -> 0x539d30
.__________________________________________________________________________________

Thanks for your help ! It seems to be OK.

PS, I also reduced the " capture request header Cookie len 200 " from 200 to 30, because JSESSIONID, seem to always be in the first place.

ronan.

Aleksandar Lazic a écrit :

> Hi,
>
>
> On Don 06.12.2007 18:45, ronan wrote:
>> Hi all,
>>
>> I am trying to use the "Application Cookies" feature (referenced by
>> http://haproxy.1wt.eu/download/1.3/doc/haproxy-en.txt) of haproxy
>> (version 1.3.13.1) but without success :(
>>
>
> Can you build haproxy with -DDEBUG_HASH, and then can you try to run
> haproxy with -db -Vd  to see if you get the JSESSIONID into the
> hashtable.
>
> Thanks
>
> Aleks
>
> ----
>> Is this config correct ?
>> ____________________________________________________________
>> listen  LB
>>        mode            http
>>        retries         2
>>        redispatch
>>        contimeout      1000
>>        clitimeout      5000
>>        srvtimeout      5000
>>        maxconn 40000
>>        bind 127.0.0.1:8081
>>        balance roundrobin
>>
>>        capture request  header Cookie len 200
>>        appsession JSESSIONID len 52 timeout 1200000
>>
>>        server  w1 1.2.3.4:80 check port 80 inter 2000 fall 2 rise 2
>>        server  w2 1.2.3.5:80 check port 80 inter 2000 fall 2 rise 2
>>
>>        option  httpclose
>> ____________________________________________________________
>>
>> For this kind of client HTTP requests :
>>
>> _______________________________________________________________________
>> GET /test.jsp
>>
>> Host: www.site.fr
>> User-Agent: Test-User-Agent
>> Accept: 
>> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 
>>
>> Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
>> Accept-Encoding: gzip,deflate
>> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
>> Keep-Alive: 300
>> Connection: keep-alive
>> Cookie: JSESSIONID=2FF13861440E7CBE1CFB35027CDAB4B1; 
>> __utma=46370481.625970449.1196775441.1196954403.1196960730.6; 
>> __utmz=46370481.1196775441.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); 
>> __utmb=46370481; __utmc=46370481
>> ________________________________________________________________________
>
>
Received on 2007/12/07 15:41

This archive was generated by hypermail 2.2.0 : 2007/12/07 15:45 CET