| # |
| # This is a sample configuration. It illustrates how to separate static objects |
| # traffic from dynamic traffic, and how to dynamically regulate the server load. |
| # |
| # 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 deliver the stats page. |
| # |
| |
| global |
| maxconn 10000 |
| stats socket /var/run/haproxy.stat mode 600 level admin |
| 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 name clear |
| #bind 192.168.1.10:443 ssl crt /etc/haproxy/haproxy.pem |
| mode http |
| log global |
| option httplog |
| option dontlognull |
| monitor-uri /monitoruri |
| maxconn 8000 |
| timeout client 30s |
| |
| stats uri /admin/stats |
| use_backend static if { hdr_beg(host) -i img } |
| use_backend static if { path_beg /img /css } |
| default_backend dynamic |
| |
| # The static backend backend for 'Host: img', /img and /css. |
| backend static |
| 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 |
| |
| # the application servers go here |
| backend dynamic |
| mode http |
| balance roundrobin |
| 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 |
| |