Is it possible to use one haproxy process to load-balance more than one protocol/port

configurationhaproxyload balancingreverse-proxy

I've got haproxy to work for us. But right now there are two haproxy processes running. One for HTTP and the other for TCP (RTMP). I've tried to configure both proxies in one configuration file but haproxy only handles HTTP then.

My configuration file:

global
    log 127.0.0.1 local0
    log 127.0.0.1 local1 notice
    #daemon
    debug
    user haproxy
    group haproxy
    maxconn 4096

defaults
    log global
    mode tcp
    option tcplog
    option dontlognull
    option redispatch
    retries 3
    maxconn 2000
    contimeout 10000
    clitimeout 50000
    srvtimeout 50000

listen http :80
    mode tcp
    balance roundrobin

    server h1 xxx.xxx.xxx.xxx:80 check
    server h2 xxx.xxx.xxx.xxx:80 check

listen rtmp :1935
   mode tcp
   balance roundrobin

   server s1 xxx.xxx.xxx.xxx:1935 check
   server s2 xxx.xxx.xxx.xxx:1935 check

This doesn't work for me. It only works when I split the configuration in two (one HTTP, one RTMP) and start two haproxy processes.

Best Answer

Ok, I have to answer my own question one more time. Yes, it is possible and my configuration file works. The problem was somewhere outside of HAProxy. Mea culpa.