Как получить доступ к веб-сокетам машины событий через Thin/nginx?

У меня есть приложение websocket для обработки событий (использующее гем em-websocket), и оно работает нормально. Проблема в том, что мне нужно развернуть его, используя порт 80 через nginx (не могу скомпилировать его с прокси-модулем tcp). Можно ли использовать простой nginx proxy_pass, указывающий на тонкий сервер, и иметь тонкий сервер для передачи запросов на мой сервер веб-сокетов?


person marcosbeirigo    schedule 26.04.2012    source источник


Ответы (1)


Насколько я понимаю, вы не можете проксировать трафик веб-сокета с помощью proxy_pass.

Поскольку веб-сокеты выполняются через соединения HTTP 1.1 (где завершаются рукопожатие и обновление), ваш сервер должен поддерживать HTTP 1.1, и, насколько я исследовал, они нарушают спецификацию HTTP 1.0...

Я видел, как некоторые люди пытались сделать то же самое с socket.io и HAProxy (см. ссылки). Я предполагаю, что вы могли бы попробовать заменить socket.io на em-websockets и ожидать аналогичных результатов.

1: http://www.letseehere.com/reverse-proxy-web-sockets< /а>

2: HAProxy + отключение WebSocket

person nickethier    schedule 26.04.2012