Мы работаем над приложением Ruby on Rails, которое должно использовать преимущества веб-сокетов html5. На данный момент у нас есть два отдельных «сервера», так сказать: наше основное приложение, работающее на nginx + passenger, и отдельный сервер, использующий платформу Pratik Naik Cramp (которая работает на Thin ) для обработки соединений с веб-сокетом.
В идеале, когда придет время для развертывания, у нас будет приложение rails, работающее на nginx + passenger, а сервер websocket будет проксироваться за nginx, поэтому нам не нужно будет запускать сервер websocket на другом сервере. порт.
Проблема в том, что в этой настройке кажется, что nginx слишком рано закрывает соединения с Thin. Соединение с тонким сервером успешно установлено, а затем немедленно закрыто с кодом ответа 200. Мы предполагаем, что nginx не понимает, что клиент пытается установить длительное соединение для трафика веб-сокетов.
По общему признанию, я не слишком разбираюсь в конфигурации nginx, так возможно ли вообще настроить nginx для работы в качестве обратного прокси-сервера для сервера веб-сокетов? Или мне нужно подождать, пока nginx предложит поддержку нового рукопожатия websocket? Предполагая, что наличие и сервера приложений, и сервера веб-сокетов, прослушивающего порт 80, является обязательным требованием, может ли это означать, что я должен иметь Thin, работающий на отдельном сервере без nginx впереди?
Заранее спасибо за любые советы или предложения. :)
-John