# Global settings #--------------------------------------------------------------------- global chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon # turn on stats unix socket stats socket /var/lib/haproxy/stats #--------------------------------------------------------------------- # common defaults that all the 'listen' and 'backend' sections will # use if not designated in their block #--------------------------------------------------------------------- defaults mode http log global option httplog option dontlognull option http-server-close option forwardfor except 127.0.0.0/8 option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 300s timeout server 300s timeout http-keep-alive 10s timeout check 10s maxconn 3000 listen stats :9000 mode http stats enable stats uri / {% for frontend in haproxy_frontends %} frontend {{ frontend.name }} {% for bind in frontend.binds %} bind {{ bind }} {% endfor %} default_backend {{ frontend.default_backend }} {% if 'mode' in frontend %} mode {{ frontend.mode }} {% endif %} {% if 'options' in frontend %} {% for option in frontend.options %} option {{ option }} {% endfor %} {% endif %} {% if 'redirects' in frontend %} {% for redirect in frontend.redirects %} redirect {{ redirect }} {% endfor %} {% endif %} {% endfor %} {% for backend in haproxy_backends %} backend {{ backend.name }} balance {{ backend.balance }} {% if 'mode' in backend %} mode {{ backend.mode }} {% endif %} {% if 'options' in backend %} {% for option in backend.options %} option {{ option }} {% endfor %} {% endif %} {% for server in backend.servers %} server {{ server.name }} {{ server.address }} {{ server.opts }} {% endfor %} {% endfor %}