# This is a test configuration. # It makes use of a farm built from 4 active servers and 4 backup servers, # all listenening to different IP addresses on port 80. Health-checks are # TCP only on port 81 so that iptables rules permit easy selection of which # servers are enabled or disabled. It checks for the file /alive, and disables # the server if the response is 404. # # Create statistics counters this way : # # iptables -N http # iptables -A OUTPUT -p tcp --syn --dport 80 -j http # for i in $(seq 1 8); do iptables -A http -d 127.0.0.$i; done # iptables -A http -d 127.0.0.0/24 # # Consult the statistics using iptables this way: # # iptables --line-numbers -nxvL http # iptables -Z http # # Block individual servers like this : # iptables -I INPUT -p tcp --dport 81 -d 127.0.0.1 -j DROP # # Enable each server like this : # touch $SRV_ROOT/alive # # Disable each server like this : # rm -f $SRV_ROOT/alive # global maxconn 1000 stats socket /tmp/sock1 mode 600 stats timeout 3000 stats maxconn 2000 listen sample1 mode http retries 1 option redispatch timeout connect 1000 timeout client 5000 timeout server 5000 maxconn 40000 bind :8080 cookie SRV insert indirect nocache #balance source balance roundrobin option allbackups server act1 127.0.0.1:80 cookie a1 weight 10 check port 81 inter 1000 fall 4 server act2 127.0.0.2:80 cookie a2 weight 20 check port 81 inter 1000 fall 4 server act3 127.0.0.3:80 cookie a3 weight 30 check port 81 inter 1000 fall 4 server act4 127.0.0.4:80 cookie a4 weight 40 check port 81 inter 1000 fall 4 server bck1 127.0.0.5:80 cookie b1 weight 10 check port 81 inter 1000 fall 4 backup server bck2 127.0.0.6:80 cookie b2 weight 20 check port 81 inter 1000 fall 4 backup server bck3 127.0.0.7:80 cookie b3 weight 30 check port 81 inter 1000 fall 4 backup server bck4 127.0.0.8:80 cookie b4 weight 40 check port 81 inter 1000 fall 4 backup option httpclose stats uri /stats stats refresh 5 option httpchk GET /alive http-check disable-on-404