Tried it, I donĀ¹t see the table populating at all.

stick-table type string size  1M expire 10m store conn_cur
acl is_range  hdr_sub(Range) bytes=
acl is_path_throttled path_beg /public-api/v1/fs-content-download
#tcp-request content track-sc1 base32 if is_range is_path_throttled
http-request set-header X-track %[url]
tcp-request content track-sc1 req.hdr(X-track) if is_range
is_path_throttled
http-request deny if { sc1_conn_cur gt 2 } is_range is_path_throttled

(egnyte_server)egnyte@egnyte-laptop:~$ echo "show table haproxy_l2" |
socat /tmp/haproxy.sock stdio
# table: haproxy_l2, type: string, size:1048576, used:0

(egnyte_server)egnyte@egnyte-laptop:~$






On 6/3/15 8:36 PM, "Baptiste" <bed...@gmail.com> wrote:

>Yes, the url sample copies whole URL as sent by the client.
>Simply give it a try on a staging server and let us know the status.
>
>Baptiste
>
>On Wed, Jun 3, 2015 at 3:19 PM, Sachin Shetty <sshe...@egnyte.com> wrote:
>> Thanks Baptiste - Will "http-request set-header X-track %[url]" help me
>> track URL with query parameters as well?
>>
>> On 6/3/15 6:36 PM, "Baptiste" <bed...@gmail.com> wrote:
>>
>>>On Wed, Jun 3, 2015 at 2:17 PM, Sachin Shetty <sshe...@egnyte.com>
>>>wrote:
>>>> Hi,
>>>>
>>>> I am trying to write some throttles that would limit concurrent
>>>>connections
>>>> for Range requests + specific urls. For example I want to allow only 2
>>>> concurrent range requests downloading a file
>>>> /public-api/v1/fs-content-download
>>>>
>>>> I have a working rule:
>>>>
>>>> stick-table type string size  1M expire 10m store conn_cur
>>>> tcp-request inspect-delay 5s
>>>> acl is_range  hdr_sub(Range) bytes=
>>>> acl is_path_throttled path_beg /public-api/v1/fs-content-download
>>>> tcp-request content track-sc1 base32 if is_range is_path_throttled
>>>> http-request deny if { sc1_conn_cur gt 2 } is_range is_path_throttled
>>>>
>>>> Just wanted to see if there is a better way of doing this? Is this
>>>>efficient
>>>> enough.
>>>>
>>>> I need to include the query string as well in my tracker, but I could
>>>>not
>>>> figure that out.
>>>>
>>>> Thanks
>>>> Sachin
>>>>
>>>
>>>Hi Sachin,
>>>
>>>I would do it like this:
>>>
>>> stick-table type string size  1M expire 10m store conn_cur
>>> tcp-request inspect-delay 5s
>>> tcp-request accept if HTTP
>>> acl is_range  hdr_sub(Range) bytes=
>>> acl is_path_throttled path_beg /public-api/v1/fs-content-download
>>> http-request set-header X-track %[url]
>>> http-request track-sc1 req.hdr(X-track) if is_range is_path_throttled
>>> http-request deny if { sc1_conn_cur gt 2 } is_range is_path_throttled
>>>
>>>There might be some typo, but you get the idea.
>>>
>>>Baptiste
>>
>>



Reply via email to