Использование socket.io с nodejs на сервере с apache в качестве обратного прокси

я пытаюсь использовать Node.js с Socket.IO для облегчения обмена сообщениями между браузером и клиентом, следуя руководству .

Однако мне пришлось настроить обратное проксирование Node -за Apache. Итак, вместо example.com :8080 для узла я использую example.com/nodejs/.

Похоже, что это приводит к тому, что Socket.IO теряет смысл. Вот мое приложение узла

var io = require('socket.io').listen(8080);

// this has to be here, otherwise the client tries to 
// send events to example.com/socket.io instead of example.com/nodejs/socket.io
io.set( 'resource', '/nodejs/socket.io' );

io.sockets.on('connection', function (socket) {

  socket.emit('bar', { one: '1'});

  socket.on('foo', function( data )
  {
    console.log( data );
  });

});

А вот как выглядит мой клиентский файл





Socket.IO test

  

  


  

Hello World

Проблема здесь в ссылке скрипта наhttp://example.com/nodejs/socket.io/socket.io.js. Он не возвращает ожидаемое содержимое javasscript -вместо этого возвращает «Добро пожаловать в socket.io», как если бы я нажалhttp://example.com/nodejs/.

Есть идеи, как мне заставить это работать?

10
задан Peter Bailey 3 May 2012 в 23:58
поделиться