По какой-то причине http-proxy вызывает подключение к сети через socket.io через каждые 2 минуты. Перед повторным подключением сообщения работают нормально между клиентом и сервером. Если я обойду прокси-сервер, соединение с websocket работает без переподключений. Конфигурация прокси очень проста и следует примеру от nodejitsu.node-http-proxy websocket таймаут с Socket.io
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
Software версии: Ubuntu 12,04 сервер, node.js 0.8.16, HTTP-прокси 0.8.7, 0.8.7 Socket.io.
Это отлично работает на dev Mac (10.8.3) и на рабочем столе Ubuntu 12.04 (virtualbox), но не на сервере.
Я предполагаю, что между вами и вашим сервером есть прокси, и он не очень любит веб-сайты. Вместо этого попробуйте использовать https/wss. –