我真的很喜欢node.js但是当你想要运行多个websocket服务器并使它们都可以通过端口80访问时,它真的很复杂.
我目前正在运行nginx,但由于nginx不支持http 1.1,因此根据url代理传入的websocket连接到不同的websocket服务器是不可能的.
我曾尝试实现一个自己拥有该功能的网络服务器,但在标题传递等方面它确实很复杂.另一件事是SSL支持.支持它并不容易.
那么,有没有人知道做我提到的事情的好方法?
谢谢你的帮助!
解决方法
我使用
node-http-proxy by nodejitsu获得了很好的结果.如他们的自述文件所述,它们似乎支持WebSockets.
WebSockets的示例(取自他们的GitHub自述文件):
var http = require('http'),httpProxy = require('http-proxy'); // // Create an instance of node-http-proxy // var proxy = new httpProxy.HttpProxy(); var server = http.createServer(function (req,res) { // // Proxy normal HTTP requests // proxy.proxyRequest(req,res,{ host: 'localhost',port: 8000 }) }); server.on('upgrade',function(req,socket,head) { // // Proxy websocket requests too // proxy.proxyWebSocketRequest(req,head,port: 8000 }); });
它的生产用量应该没问题,因为它用于nodejitsu.com.要将代理应用程序作为守护程序运行,请考虑使用forever.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。