Quote:
Originally Posted by Devsome
Mit einem reverse Proxy könntest du es machen
|
Okay.
Im Spoiler ist das aktuelle Setup:
Folgendes nutze ich momentan als reverseproxy:
PHP Code:
ProxyPreserveHost On
ServerAlias www.webseite.de
ProxyPass / http://www.webseite:3000/
ProxyPassReverse / http://www.webseite:3000/
ServerName localhost
Server.js ->
PHP Code:
var express = require('express')
, http = require('http');
//make sure you keep this order
var app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server);
//...
server.listen(3000,function(){
console.log('listening on *:3000');
});
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function(socket){
console.log('a user connected');
});
var clients = 0;
io.on('connection', function(socket){
clients++;
io.sockets.emit('broadcast',{ description: clients + ' clients connected!'});
socket.on('disconnect', function () {
clients--;
io.sockets.emit('broadcast',{ description: clients + ' clients connected!'});
});
});
io.on('connection', function(socket) {
socket.emit('welcome', { message: 'Welcome!', id: socket.id });
socket.on('i am client', console.log);
});
Client ->
PHP Code:
var socket = io.connect( '/' );
$( "#chatForm" ).submit( function() {
var nameVal = $( "#username" ).val();
var msg = $( "#chatmessage" ).val();
socket.emit( 'message', { name: nameVal, message: msg } );
return false;
});
socket.on( 'message', function( data ) {
var actualContent = $( "#messages" ).html();
var newMsgContent = '<li> <strong>' + data.name + '</strong> : ' + data.message + '</li>';
var content = newMsgContent + actualContent;
$( "#messages" ).html( content );
});
Ich binde die Client.js in die index.html ein und nutze über den server node server.js -> alles ok
Wenn ich dann auf die Seite gehe, kommt einfach nen Error:
Cannot Get /
Weiß jemand eventuell woran das genau liegt?
Edit:
Reverse Proxy: wie oben
app.js:
PHP Code:
var socket = io();
$( "#chatForm" ).submit( function() {
var nameVal = $( "#username" ).val();
var msg = $( "#chatmessage" ).val();
socket.emit( 'message', { name: nameVal, message: msg } );
return false;
});
socket.on( 'message', function( data ) {
var actualContent = $( "#messages" ).html();
var newMsgContent = '<li> <strong>' + data.name + '</strong> : ' + data.message + '</li>';
var content = newMsgContent + actualContent;
$( "#messages" ).html( content );
});
Server.js:
PHP Code:
var socket = require( 'socket.io' );
var express = require( 'express' );
var http = require( 'http' );
var app = express();
var server = http.createServer( app );
var io = socket.listen( server );
app.get('/', function(){
console.log("hi");
});
io.sockets.on( 'connection', function( client ) {
console.log( "New client !" );
client.on( 'message', function( data ) {
console.log( 'Message received ' + data.name + ":" + data.message );
io.sockets.emit( 'message', { name: data.name, message: data.message } );
});
});
server.listen(3000,function(){
console.log('listening on *:3000');
});
Bekomme den error:
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /.
Reason: Error reading from remote server