@klic2rohit wrote:
Hello,
I am using HAproxy 1.5.8 version for http and now try to add websocket support.
I am testing using http://www.websocket.org/echo.html site for websocket connection.
My websocket connection connects to the server but after around few seconds it shows disconnected.
My setup is like this:
AWS ALB -----> HAproxy ------> ec2 with web app docker container
I have enabled the session stickiness attribute on AWS ALB.
haproxy conf:
defaults
mode http
timeout connect 5000ms
timeout client 5000ms
timeout server 50000mstimeout tunnel 3600s timeout client-fin 30s timeout http-keep-alive 1s option httplog option redispatch retries 3 log global
frontend public
bind 0.0.0.0:80
option dontlognull
option forwardfor
maxconn 2500
monitor-uri /haproxy_health
option httplog
# remove proxy header
http-request del-header Proxy## **WS routing based on Host header acl host_ws hdr_beg(Host) -i ws. use_backend meteoguard-task-list-service-eis if host_ws ## **WS routing based on websocket protocol header acl hdr_connection_upgrade hdr(Connection) -i upgrade acl hdr_upgrade_websocket hdr(Upgrade) -i websocket use_backend meteoguard-task-list-service-eis if hdr_connection_upgrade hdr_upgrade_websocket
################################################################################################
backend meteoguard-task-list-service-eis
balance roundrobin
option tcplog
timeout connect 30s
timeout client 30s
timeout server 30s
option forwardfor
timeout tunnel 60m
## websocket protocol validation
acl hdr_connection_upgrade hdr(Connection) -i upgrade
acl hdr_upgrade_websocket hdr(Upgrade) -i websocket
acl hdr_websocket_key hdr_cnt(Sec-WebSocket-Key) eq 1
acl hdr_websocket_version hdr_cnt(Sec-WebSocket-Version) eq 1
http-request deny if ! hdr_connection_upgrade ! hdr_upgrade_websocket ! hdr_websocket_key ! hdr_websocket_versionoption httpchk GET /health http-check expect status 200 server ws1 10.3.1.2:31402 check
Posts: 1
Participants: 1