Hi sachin,

Look my conf, I turned your tcp-request content statement into http-request.

Baptiste

On Thu, Jun 4, 2015 at 12:05 PM, Sachin Shetty <sshe...@egnyte.com> wrote:
> 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