CLEANUP: examples: fix the example file content-sw-sample.cfg
This one didn't load anymore, but it was worth updating it since it matches
most common needs.
diff --git a/examples/content-sw-sample.cfg b/examples/content-sw-sample.cfg
index 8eef3ab..e54f976 100644
--- a/examples/content-sw-sample.cfg
+++ b/examples/content-sw-sample.cfg
@@ -1,75 +1,65 @@
#
-# This is a sample configuration
-# haproxy >= 1.3.4 required.
+# 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 are directed to a backend dedicated to statistics.
+# 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
+ 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
+ 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
+ monitor-uri /monitoruri
+ maxconn 8000
+ timeout client 30s
- # The URI will use a specific keyword soon
- reqisetbe ^[^\ ]*\ /(img|css)/ static
- reqisetbe ^[^\ ]*\ /admin/stats stats
-
- default_backend dynamic
-
+ 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
- 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
-
+ 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
- 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
+ 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