I am getting this error:
matching method 'found' cannot be used with fetch keyword 'req.payload'
In order to detect correct frame I do something like this do you think
it is enough?
acl px req.payload(0,4) -m bin FF00FF00
acl rib req.payload(5,4) -m bin 00000000
tcp-request content accept if px WAIT_END
tcp-request inspect-delay 1s
stick-table type binary len 4 size 50k expire 30m
stick on req.payload(5,4) table protokolX if px !rib
Presumably, I try to avoid stickiness on frames where ID is not set..
Dne 24.9.2015 v 10:46 Emeric Brun napsal(a):
> On 09/24/2015 09:16 AM, Miloš Kozák wrote:
>> I did try even that..
>>
>> Interesting thing happens when I set tcp-inspect delay to 10s, my stickiness rule appears after 30s. The problem is it takes very much of time, and the stickiness then actually does not work, i.e., I can see that every further response goes from different server. Also, the stickiness rule does not appear everytime, only exceptionally..
>>
>> My stickiness rules goes from first packet hence only a few ms should be OK, but it does not work with such a short time at all..
>>
>>
>> Milos
>
> tcp-inspect is not enought, you must use also use a tcp-request content rule to force haproxy to wait for data.
>
> Something like that:
>
> acl ID req.payload(4,5) -m found
> tcp-request inspect-delay 5s
> tcp-request content accept if ID
> stick on req.payload(4,5) if ID
>
> R,
> Emeric
matching method 'found' cannot be used with fetch keyword 'req.payload'
In order to detect correct frame I do something like this do you think
it is enough?
acl px req.payload(0,4) -m bin FF00FF00
acl rib req.payload(5,4) -m bin 00000000
tcp-request content accept if px WAIT_END
tcp-request inspect-delay 1s
stick-table type binary len 4 size 50k expire 30m
stick on req.payload(5,4) table protokolX if px !rib
Presumably, I try to avoid stickiness on frames where ID is not set..
Dne 24.9.2015 v 10:46 Emeric Brun napsal(a):
> On 09/24/2015 09:16 AM, Miloš Kozák wrote:
>> I did try even that..
>>
>> Interesting thing happens when I set tcp-inspect delay to 10s, my stickiness rule appears after 30s. The problem is it takes very much of time, and the stickiness then actually does not work, i.e., I can see that every further response goes from different server. Also, the stickiness rule does not appear everytime, only exceptionally..
>>
>> My stickiness rules goes from first packet hence only a few ms should be OK, but it does not work with such a short time at all..
>>
>>
>> Milos
>
> tcp-inspect is not enought, you must use also use a tcp-request content rule to force haproxy to wait for data.
>
> Something like that:
>
> acl ID req.payload(4,5) -m found
> tcp-request inspect-delay 5s
> tcp-request content accept if ID
> stick on req.payload(4,5) if ID
>
> R,
> Emeric