haproxy и socket.io не полностью работают - PullRequest
0 голосов
/ 29 декабря 2011

Я перепробовал все возможные конфигурации haproxy, опубликованные в блогах и stackoverflow, но я до сих пор не могу заставить haproxy и socket.io работать 100% времени.В большинстве браузеров, которые «поддерживают» веб-сокеты, происходит сбой и происходит длительный опрос после пропущенных ударов сердца.Похоже, что браузер устанавливает первоначальное соединение (отладка nodejs), но я не могу заставить клиентов получить ответ о соединении.У кого-нибудь еще есть подобные проблемы?Ниже приведены номера версий программного обеспечения и пара конфигураций, которые я пробовал.

  • haproxy 1.4.18
  • узел 0.6.5
  • socket.io 0.8.7

Конфигурации Haproxy (я пробовал еще много и множество вариантов):

Веб-сокеты, работающие в:

  • Safari 5 (Windows)
  • Chrome 11 (Linux)

1 Ответ

0 голосов
/ 30 декабря 2011

Websockets не может быть обратным прокси-сервером, потому что 8 байтов данных, которые клиент должен отправить после заголовков, не объявляется в заголовке Content-Length, поэтому промежуточные соединения не будут пересылать эти данные до завершения рукопожатия.А так как для завершения рукопожатия требуется 8 байтов, оно никогда не завершается и не блокируется, http://www.enotes.com/topic/WebSockets#Proxy_traversal. Это не единственный источник.Многие другие источники подтверждают, что они не могут иметь обратный прокси-сервер.

...