blob: 8eef3ab3cb4b97cdedde54abb4720e9952397101 [file] [log] [blame]
#
# This is a sample configuration
# haproxy >= 1.3.4 required.
#
# It listens on 192.168.1.10:80, and directs all requests for Host 'img' or
# URIs starting with /img or /css to a dedicated group of servers. URIs
# starting with /admin/stats are directed to a backend dedicated to statistics.
#
global
maxconn 10000
log 127.0.0.1 local0
uid 200
gid 200
chroot /var/empty
daemon
# The public 'www' address in the DMZ
frontend public
bind 192.168.1.10:80
mode http
log global
option httplog
option dontlognull
option httpclose
monitor-uri /monitoruri
maxconn 8000
clitimeout 30000
# Host: will use a specific keyword soon
reqisetbe ^Host:\ img static
# The URI will use a specific keyword soon
reqisetbe ^[^\ ]*\ /(img|css)/ static
reqisetbe ^[^\ ]*\ /admin/stats stats
default_backend dynamic
# The static backend backend for 'Host: img', /img and /css.
backend static
mode http
balance roundrobin
contimeout 5000
srvtimeout 5000
redispatch
retries 2
option httpchk HEAD /favicon.ico
server statsrv1 192.168.1.8:80 check inter 1000
server statsrv2 192.168.1.9:80 check inter 1000
backend dynamic
mode http
balance roundrobin
contimeout 30000
srvtimeout 30000
redispatch
retries 2
option httpchk HEAD /login.php
cookie DYNSRV insert indirect nocache
fullconn 4000 # the servers will be used at full load above this number of connections
server dynsrv1 192.168.1.1:80 minconn 50 maxconn 500 cookie s1 check inter 1000
server dynsrv2 192.168.1.2:80 minconn 50 maxconn 500 cookie s2 check inter 1000
server dynsrv3 192.168.1.3:80 minconn 50 maxconn 500 cookie s3 check inter 1000
server dynsrv4 192.168.1.4:80 minconn 50 maxconn 500 cookie s4 check inter 1000
backend stats
log global
mode http
stats uri /
balance roundrobin