2013-05-27 3 views
3

По какой-то причине 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), но не на сервере.

+0

Я предполагаю, что между вами и вашим сервером есть прокси, и он не очень любит веб-сайты. Вместо этого попробуйте использовать https/wss. –

ответ

0

Установите тайм-аут в параметрах, которые вы передаете createServer. options.timeout для тайм-аута сокета и options.proxyTimeout, чтобы разрешить исходящий сокет до таймаута, чтобы мы могли отобразить страницу с ошибкой при первоначальном запросе.

Смежные вопросы