| # |
| # 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 |
| |