Hi Dave,

In recent HAProxy version, you have urlp acls which maches url parameters.
Something like this should do the trick, as far as I understand what
you need exactly!
acl learn-request urlp(state) -i FL

baptiste


On Mon, Oct 14, 2013 at 10:18 PM, Dave Shevett <[email protected]> wrote:
> Hi everyone, I've been reading the docs all day, and I can't find
> exaclty how to do this.
>
> Below is a part of our haproxy config.  We fork traffic coming into our
> LB based on the URL of the request or a cookie that is set by the app.
> Requests for a certain subset of our users, or a special URL, go to a
> seperate set of servers (the 'stg-10x' boxes).  Everyone else goes to
> the normal-app.
>
> We've had a request to do this sort of branching based on an HTTP
> request parameter, either as a GET (on the command line), or via POST
> (in the header).  I had hoped I could use url_param with check_post, but
> I can't seem to see how to do it.
>
> The goal is, stated via logic "if there is a GET or POST variable called
> 'state' that has a value 'FL', then set the 'learn-request' acl."
>
> Is this possible?
>
> Here's what we have now:
>
> acl learn-request hdr_beg(host) -i learn
> acl learn-request hdr_reg(Cookie) userState=FL
>
> use_backend learn if learn-request
>
> default_backend normal-app
>
> backend normal-app
>     mode http
>     option httpchk GET /healthCheck.jsf?checkMaster=true
>     server stg-1 stg-1.aws.REDACTED.com:80 cookie stg-1 check inter
> 10000 rise 2 fall 5
>     server stg-2 stg-2.aws.REDACTED.com:80 cookie stg-2 check inter
> 10000 rise 2 fall 5
>     server stg-3 stg-3.aws.REDACTED.com:80 cookie stg-3 check inter
> 10000 rise 2 fall 5
>     server stg-4 stg-4.aws.REDACTED.com:80 cookie stg-4 check inter
> 10000 rise 2 fall 5
>     server last-resort 10.10.1.57:7080 backup
>
> backend learn
>     mode http
>     option httpchk GET /healthCheck.jsf?checkMaster=true
>     server stg-101 10.10.1.25:80 cookie stg-101 check inter 10000 rise 2
> fall 5
>     server stg-102 10.10.3.207:80 cookie stg-102 check inter 10000 rise
> 2 fall 5
>     server last-resort 10.10.1.57:7080 backup
>

Reply via email to