title: HAProxy Loadbalancing TCP traffic
body: <p>Using HAProxy, I'm trying to (TCP) load balance Rserve(a service listening in TCP socket for calling R scripts) running at port 6311 in 2 nodes.</p>
  
  <p>Below is my config file. When I run HAProxy, its statting without any issues. But when I connect to the balanced nodes, getting below error. Anything wrong with the config? </p>
  
  <p><code>Handshake failed: expected 32 bytes header, got -1</code></p>
  
  <pre><code>#---------------------------------------------------------------------
  # Global settings
  #---------------------------------------------------------------------
  global
      log         127.0.0.1 local2
  
      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                    tcp
      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          1m
      timeout server          1m
      timeout http-keep-alive 10s
      timeout check           10s
      maxconn                 3000
  
  
  listen haproxy_rserve
          bind *:81
          mode tcp
          option tcplog
          timeout client  10800s
          timeout server  10800s
          balance leastconn
          server rserve1 rserveHostName1:6311
          server rserve2 rserveHostName2:6311
  
  listen stats proxyHostName:8080
      mode http
      stats enable
      stats realm Haproxy\ Statistics 
      stats uri /haproxy_stats
      stats hide-version
      stats auth admin:password
  </code></pre>
  
  <p>Tried with below frontend-backend way of balancing as well. Same result. </p>
  
  <pre><code>frontend haproxy_rserve
      bind *:81
      mode tcp
      option tcplog
      timeout client  10800s
      default_backend rserve
  
  backend rserve
      mode tcp
      option tcplog
      balance leastconn
      timeout server  10800s  
      server rserve1 rserveHostName1:6311
      server rserve2 rserveHostName2:6311 
  </code></pre>