2007-01-01 23:59:39 +00:00
|
|
|
#
|
2015-10-13 13:38:46 +00:00
|
|
|
# This is a sample configuration. It illustrates how to separate static objects
|
|
|
|
# traffic from dynamic traffic, and how to dynamically regulate the server load.
|
2007-01-01 23:59:39 +00:00
|
|
|
#
|
|
|
|
# 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
|
2015-10-13 13:38:46 +00:00
|
|
|
# starting with /admin/stats deliver the stats page.
|
2007-01-01 23:59:39 +00:00
|
|
|
#
|
|
|
|
|
|
|
|
global
|
|
|
|
maxconn 10000
|
2015-10-13 13:38:46 +00:00
|
|
|
stats socket /var/run/haproxy.stat mode 600 level admin
|
2007-01-01 23:59:39 +00:00
|
|
|
log 127.0.0.1 local0
|
|
|
|
uid 200
|
|
|
|
gid 200
|
|
|
|
chroot /var/empty
|
|
|
|
daemon
|
|
|
|
|
|
|
|
# The public 'www' address in the DMZ
|
|
|
|
frontend public
|
2015-10-13 13:38:46 +00:00
|
|
|
bind 192.168.1.10:80 name clear
|
|
|
|
#bind 192.168.1.10:443 ssl crt /etc/haproxy/haproxy.pem
|
2007-01-01 23:59:39 +00:00
|
|
|
mode http
|
2015-10-13 13:38:46 +00:00
|
|
|
log global
|
|
|
|
option httplog
|
2007-01-01 23:59:39 +00:00
|
|
|
option dontlognull
|
2015-10-13 13:38:46 +00:00
|
|
|
monitor-uri /monitoruri
|
|
|
|
maxconn 8000
|
|
|
|
timeout client 30s
|
2007-01-01 23:59:39 +00:00
|
|
|
|
2015-10-13 13:38:46 +00:00
|
|
|
stats uri /admin/stats
|
|
|
|
use_backend static if { hdr_beg(host) -i img }
|
|
|
|
use_backend static if { path_beg /img /css }
|
|
|
|
default_backend dynamic
|
2007-01-01 23:59:39 +00:00
|
|
|
|
|
|
|
# The static backend backend for 'Host: img', /img and /css.
|
|
|
|
backend static
|
2015-10-13 13:38:46 +00:00
|
|
|
mode http
|
|
|
|
balance roundrobin
|
|
|
|
option prefer-last-server
|
|
|
|
retries 2
|
|
|
|
option redispatch
|
|
|
|
timeout connect 5s
|
|
|
|
timeout server 5s
|
|
|
|
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
|
2007-01-01 23:59:39 +00:00
|
|
|
|
2015-10-13 13:38:46 +00:00
|
|
|
# the application servers go here
|
2007-01-01 23:59:39 +00:00
|
|
|
backend dynamic
|
|
|
|
mode http
|
|
|
|
balance roundrobin
|
2015-10-13 13:38:46 +00:00
|
|
|
retries 2
|
|
|
|
option redispatch
|
|
|
|
timeout connect 5s
|
|
|
|
timeout server 30s
|
|
|
|
timeout queue 30s
|
|
|
|
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
|
2007-01-01 23:59:39 +00:00
|
|
|
|