Хотя WebSockets действительно нарушает HTTP 1.0, они не нарушают HTTP 1.1, поэтому вы должны иметь возможность проксировать их на любом сервере, способном передавать HTTP 1.1

ользую HAProxy для отправки запросов на поддомене в приложение node.js.

Я не могу заставить WebSockets работать. До сих пор я был в состоянии только заставить клиента установить соединение WebSocket, но затем есть разъединение, которое следует очень скоро после.

Я на Ubuntu. Я использую различные версииsocket.io а такжеnode-websocket-server, Клиент является либо самыми последними версиями Safari или Chrome. HAProxy версия 1.4.8

Вот мой HAProxy.cfg

global 
    maxconn 4096 
    pidfile /var/run/haproxy.pid 
    daemon 

defaults 
    mode http 

    maxconn 2000 

    option http-server-close
    option http-pretend-keepalive

    contimeout      5000
    clitimeout      50000
    srvtimeout      50000

frontend HTTP_PROXY
    bind *:80 

    timeout client  86400000

    #default server
    default_backend NGINX_SERVERS

    #node server
    acl host_node_sockettest hdr_beg(host) -i mysubdomain.mydomain

use_backend NODE_SOCKETTEST_SERVERS if host_node_sockettest


backend NGINX_SERVERS 
server THIS_NGINX_SERVER 127.0.0.1:8081

backend NODE_SOCKETTEST_SERVERS
timeout queue   5000
timeout server  86400000

server THIS_NODE_SERVER localhost:8180 maxconn 200 check

Я просмотрел сеть и список рассылки, но не смог заставить работать ни одно из предложенных решений.

(p.s. это может быть из-за ошибки сервера, но есть другой вопрос HAProxy на S.O, поэтому я решил опубликовать здесь)

Ответы на вопрос(4)

Ваш ответ на вопрос