Peut nginx être utilisé comme un proxy inverse pour un backend serveur websocket?

Nous travaillons sur Ruby on Rails application qui doit profiter de websockets html5. À l'heure actuelle, nous avons deux "serveurs" pour ainsi dire: notre principale application en cours d'exécution sur nginx+passager, et d'un autre serveur à l'aide de Pratique Naik est Crampe cadre (qui est en cours d'exécution sur Mince) pour gérer les websocket connexions.

Idéalement, lorsque vient le temps pour le déploiement, nous aurions l'application rails en cours d'exécution sur nginx+passager, et le serveur websocket serait mandaté derrière nginx, donc nous n'aurions pas besoin d'avoir le serveur websocket en cours d'exécution sur un port différent.

Problème est, dans cette configuration, il semble que nginx est de fermer les connexions à Mince trop tôt. La connexion est établie avec succès à la Fine serveur, puis immédiatement fermé avec un code de réponse de 200. Notre conjecture est que nginx ne se rend pas compte que le client tente d'établir une connexion websocket trafic.

Certes, je ne suis pas du tout calée avec nginx config, donc, est-il même possible de configurer nginx pour agir comme un proxy inverse pour un serveur websocket? Ou dois-je attendre pour nginx pour offrir un soutien pour le nouveau protocole de transfert websocket des trucs? En supposant que le fait d'avoir à la fois le serveur d'application et le serveur websocket à l'écoute sur le port 80 est une exigence, peut-être que dire que je Mince en cours d'exécution sur un serveur distinct, sans nginx en frontal pour l'instant?

Merci d'avance pour tout conseil ou suggestion. 🙂

-Jean

InformationsquelleAutor John Reilly | 2010-03-10