# This is a test configuration.
# It must use only the first backup server. Check local apache logs to
# verify :
#
#  tail /var/log/apache/access_log


global
	maxconn		100

listen  sample1
        mode            http
        option		httplog
        option          dontlognull
        retries         1
        redispatch
        contimeout      1000
        clitimeout      5000
        srvtimeout      5000
        maxconn 40000
        bind :8081
        balance source
        server  srv1 127.0.0.1:80 cookie s1 check port 81 inter 1000 fall 1
        server  srv2 127.0.0.2:80 cookie s2 check port 81 inter 1000 fall 1
        server  srv3 127.0.0.3:80 cookie s3 check port 81 inter 1000 fall 1
        server  srv4 127.0.0.4:80 cookie s4 check port 81 inter 1000 fall 1
        server  bck1 127.0.1.1:80 cookie b1 check port 81 inter 1000 fall 1 backup
        server  bck2 127.0.1.2:80 cookie b2 check port 80 inter 1000 fall 1 backup
        server  bck3 127.0.1.3:80 cookie b3 check port 80 inter 1000 fall 1 backup
        server  bck4 127.0.1.4:80 cookie b4 check port 80 inter 1000 fall 1 backup
        server  bck5 127.0.1.5:80 cookie b5 check port 80 inter 1000 fall 1 backup
        option  httpclose
	errorloc 503 /503

