我正在尝试让 websockets 也可以与node-http-proxy
. 不同之处在于我使用的是代理表:
var options = {
router: {
'a.websterten.com': '127.0.0.1:150',
'b.websterten.com' : '127.0.0.1:151',
}
};
var server = httpProxy.createServer(options);
我试过了:
server.on('upgrade', function (req, socket, head) {
server.proxy.proxyWebSocketRequest(req, socket, head);
});
但这似乎不起作用。快速检查我从 Chrome 获得的 websockets 是否工作显示Unexpected response code: 400
(如果我直接去,工作正常)
server.on('upgrade',..
在 websocket 请求上也不会触发一些检查
如何让我的代理服务器正确路由 websocket?
我也在节点 0.8.23 和节点 0.10.x 上试过这个(更高版本的节点有内存泄漏问题,但它也不会在 0.8.23 上工作)