# This is a test configuration.
# It is used to check that time units are correctly parsed.

global
	maxconn    1000
        stats timeout 3s

listen  sample1
        mode       http
        retries    1
        option redispatch
        timeout    client  15m
        timeout    http-request 6s
        timeout    tarpit  20s
        timeout    queue   60s
        timeout    connect 5s
        timeout    server  15m
        maxconn    40000
        bind       :8000
        balance    roundrobin
	option     allbackups
        server     act1 127.0.0.1:80 weight 10 check port 81 inter 500ms fall 1
        server     act2 127.0.0.2:80 weight 20 check port 81 inter 500ms fall 1
        server     act3 127.0.0.3:80 weight 30 check port 81 inter 500ms fall 1
        option     httpclose
	stats      uri /stats
	stats      refresh 5000ms
