Обходной путь nginx и socket.io - PullRequest
4 голосов
/ 28 марта 2012

В настоящее время трудно работать с большинством обратных прокси (nginx, HAproxy) при работе с веб-сокетами.Я думал, что можно было бы сделать что-то вроде этого:

io.connect("http://yourdomain:8080/chat"); // with namespace

Таким образом, пример рабочего процесса будет:

  • nginx прослушивает порт 80
  • nodejs прослушивает порт 8080
  • socket.io прослушивает порт 8080 через приложение nodejs
  • nginx передает любые запросы через порт 80 на nodejs на 8080
  • socket.io клиент подключается напрямую к узлу / серверу сокетов на порту 8080 и связывается напрямую без участия обратного прокси

Я не могу заставить его работать - это невозможно, или я что-то не так делаю?

РЕДАКТИРОВАТЬ: Это действительно работает, моя проблема отправляла MongoDB _id поля для клиента.

Я написал более подробное описание здесь

1 Ответ

0 голосов
/ 14 сентября 2012

Я должен быть возможен с NGINX 1.3, как только он будет выпущен.В версии 1.2 добавлена ​​поддержка протокола HTTP / 1.1, который был существенным отсутствующим элементом.

...