# 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