2014-05-13 6 views
0

J'utilise node.js et socket.io pour notre application de chat et tout fonctionne bien jusqu'à ce que nous décidions d'implémenter le certificat SSL.Socket ne s'est pas connecté avec SSL

Avant SSL notre SocketServer connecter comme ceci:

// Start up a Node server with Socket.IO 
var io = require('socket.io').listen(8080,{ 
    'log level':1 
}); 

et Socket comme celui-ci

socket : io.connect('http://111.111.111.111:8080'),

Après nous mettons en œuvre nous configurons les directives Proxy sous domaine. Maintenant, toutes les demandes envoyées à https://example.com/nodejs seront transmises à localhost: 8080. Je changé la connexion comme ceci:

// Instantiate the Socket.IO client and connect to the server 
socket : io.connect('https://example.com/nodejs'), 

Mais le faild de connexion et redirigent vers 404 page. Je ne sais pas où peut être le problème alors j'ai besoin de votre aide.

Merci

Répondre

1

Page Socket.io pas trouvé car il écoute sur le serveur http et le site js connecter en https, c'est ma solution, espère utile:

var https = require('https'); 
var express = require('express'); 
var app = express(); 

// app.use ... 
// app.set ... 

var credentials = { 
    key: fs.readFileSync('./config/privateKey'), 
    cert: fs.readFileSync('./config/certificate') 
}; 

var https_server = https.createServer(credentials, app); 

var io = SocketIO.listen(https_server, {}); 

io.set('authorization', function(handshakeData, callback) { 
    // ... 
}); 

io.sockets.on('connection', function(socket) { 
    // ... 
}); 
+0

Merci beaucoup. Une partie de votre code m'aide à comprendre la connexion avec le socket et maintenant je le connecte. –