Хотя 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, поэтому я решил опубликовать здесь)