Mit Buchse.io mit nodejs auf einem server mit apache als reverse-proxy

Versuche ich zu nutzen Node.js mit Sockel.IO zu erleichtern messaging zwischen browser und client, folgenden die Anleitung.

Allerdings hatte ich zu setup-Knoten reverse-Proxy hinter Apache. Also, anstelle von Beispiel.com:8080 für Knoten, ich bin mit example.com/nodejs/.

Diese zu verursachen scheint Buchse.IO zu verlieren, Gefühl von sich selbst. Hier ist mein Knoten app

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 );
  });

});

Und hier ist, was meine client-Datei sieht wie

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Socket.IO test</title>

  <script src="http://example.com/nodejs/socket.io/socket.io.js"></script>

  <script>

  var socket = io.connect('http://example.com/nodejs/');

  console.log( socket );

  socket.on( 'bar', function (data)
  {
    console.log(data);
    socket.emit( 'foo', {bar:'baz'} );
  });

  socket.emit('foo',{bar:'baz'});

  </script>
</head>
<body>
  <p id="hello">Hello World</p>
</body>
</html>

Das problem hier ist das Skript Verweis auf http://example.com/nodejs/socket.io/socket.io.js. Es kommt nicht die erwartete javasscript-content - stattdessen gibt es "Welcome to socket.io" als wenn ich auf http://example.com/nodejs/.

Irgendeine Idee, wie kann ich diese Arbeit machen?

  • Ich weiß, das ist nicht die Frage (und bitte rufen Sie mich, ob ich öffnen sollte eine neue Frage ALSO), aber ich bin neugierig, was deine Apache httpd.conf aussieht. Ich habe die Proxyfunktion Satz bis zum übergeben aus, um die tatsächlichen node.js server, aber ich kann nicht das websockets-proxy arbeiten. Könntest du bitte ein Beispiel geben, wie Sie dabei mit Apache?
  • Sorry, aber ich kann nicht. Dieses Projekt wurde in einem hackathon vor über 2 Jahren, und der server, der eingerichtet wurde, für die es nicht mehr gibt.
InformationsquelleAutor Peter Bailey | 2012-05-03
Schreibe einen Kommentar