Hi, I have problem to make WebSockets work.
I have 2 balancers:
- one used to balance requests to my web domain with HTTPs and having roundrobin to other 2 VMs having Apache with html and JS (to give name “FE_PROXY”)
- the other balancer is called from what we have deployed inside Apache in previous step.to balance backend API on another VM (this proxy is named as “BE_PROXY”)
So in few words we have a balancer (FE_PROXY) to balance the requests towards - for example - www.myfrontent.com (with https) and on the each web frontend on Apache call the BE_PROXY to serve APIs. All works fine but when we try to open a websocket (responding on url /livechat) we see this entry on log of haproxy of BE_PROXY:
core_fe core_be/core_be_server_2 0/0/0/2/2 400 115 - - ---- 1/1/0/0/0 0/0 “GET /livechat/235 HTTP/1.1”
but no info in log of FE_PROXY…
And we don’t understand how to solve this. The
The config i have is
frontend core_fe
timeout client 50000ms
bind *:11975
mode http
option forwardfor
default_backend core_be
and
backend core_be
timeout connect 5000ms
timeout check 5000ms
timeout server 50000ms
balance roundrobin
mode http
option http-server-close
option httpchk GET /api/uptime
http-check expect string true
balance roundrobin
#cookie SERVERID insert indirect nocache
server core_be_server_1 XXX.XXX.XXX.24:11975 check inter 5s
server core_be_server_2 XXX.XXX.XXX.10:11975 check inter 5s
we tried also this but no success
acl is_websocket hdr(Upgrade) -i WebSocket
acl is_websocket hdr_beg(Host) -i ws
Could you help us? thanks