3
由於某種原因,http-proxy會在每2分鐘後重新連接基於socket.io的websocket連接。在重新連接消息在客戶端和服務器之間正常工作之前。如果我繞過代理服務器,websocket連接將不會重新連接。代理配置非常基本,並遵循nodejitsu的示例。使用Socket.io的node-http-proxy websocket超時
var http = require('http'),
httpProxy = require('http-proxy');
var options = {
hostNameOnly: true,
router: {
'example.com/sockets/': '127.0.0.1:9001'
}
};
var proxyServer = httpProxy.createServer(options);
proxyServer.listen(80);
我也嘗試更改配置中的超時選項,但這不會影響重新連接問題。
timeout: 120000 // override the default 2 minute http socket timeout value in milliseconds
軟件版本:Ubuntu 12.04服務器,node.js 0.8.16,http-proxy 0.8.7,socket.io 0.8.7。
這適用於dev Mac(10.8.3)和Ubuntu桌面12.04(virtualbox),但不適用於服務器。
我的猜測是你和你的服務器之間有一個代理,它並不喜歡websocket。嘗試使用https/wss代替。 –