| # Requires recent Haproxy to work with websockets (for example 1.4.16). |
| defaults |
| mode http |
| # Set timeouts to your needs |
| timeout client 5s |
| timeout connect 5s |
| timeout server 5s |
| |
| frontend all 0.0.0.0:8888 |
| mode http |
| timeout client 120s |
| |
| option forwardfor |
| # Fake connection:close, required in this setup. |
| option http-server-close |
| option http-pretend-keepalive |
| |
| acl is_sockjs path_beg /echo /broadcast /close |
| acl is_stats path_beg /stats |
| |
| use_backend sockjs if is_sockjs |
| use_backend stats if is_stats |
| default_backend static |
| |
| |
| backend sockjs |
| # Load-balance according to hash created from first two |
| # directories in url path. For example requests going to /1/ |
| # should be handled by single server (assuming resource prefix is |
| # one-level deep, like "/echo"). |
| balance uri depth 2 |
| timeout server 120s |
| server srv_sockjs1 127.0.0.1:9999 |
| # server srv_sockjs2 127.0.0.1:9998 |
| |
| backend static |
| balance roundrobin |
| server srv_static 127.0.0.1:8000 |
| |
| backend stats |
| stats uri /stats |
| stats enable |