I solved my problem.

The issue was I needed to specify the correct stick-table in the
src_get_gpc0 call. The corrected line is:

        acl source_is_new src_get_gpc0*(thebackend)* eq 0


On Thu, Mar 10, 2011 at 7:52 PM, Cory Forsyth <cory.fors...@gmail.com>wrote:

> I am trying to make an haproxy config where if an IP visits the server then
> I'll track it in a stick-table and increment the gpc.
> If my capacity1 server gets marked down I want to only allow incoming
> requests from IP addresses that already appear in that stick-table.  The
> full config is shown below.
>
> I am using socat and haproxy's stats to view the contents of the
> stick-table, and I see the gpc0 counter variable getting incremented on
> every request.  But when the capacity server gets marked as down than every
> incoming request, even from IPs with positive gpc0 values, gets blocked
> immediately.
>
> Any suggestions? This is on 1.5-dev3.
>
>
> global
>         maxconn 30000
>         ulimit-n 65536
>         log     127.0.0.1 local0
>         log     127.0.0.1 local1 debug
>         stats socket /var/run/haproxy.stat mode 600 level operator
>
> defaults
>         stats uri /stats
>         mode http
>         timeout connect 5000ms
>         timeout client 50000ms
>         timeout server 50000ms
>
> backend capacity
>         option httpchk GET /
>         server capacity1 127.0.0.1:81 check rise 1 fall 1
>
> backend thebackend
>         stick-table type ip size 5 expire 30s store gpc0
>         tcp-request content  track-sc1 src
>         acl mark_seen sc1_inc_gpc0
>         tcp-response content accept if TRUE mark_seen
>         server union1 x.x.x.x:80
>
>
> frontend http_proxy
>         bind *:80
>         mode http
>         option forwardfor
>         default_backend thebackend
>         acl have_capacity srv_is_up(capacity/capacity1)
>         acl source_is_new src_get_gpc0 eq 0
>         block if !have_capacity source_is_new
>



-- 
[image: Follow me on twitter] <http://movableink.com/twitter_pics/244/link>get
your own Movable Ink <http://movableink.com/?s=sig>

Reply via email to