套接字没有连接SSL

时间:2014-05-13 07:37:53

标签: php node.js ssl socket.io centos

我在我们的聊天应用程序中使用node.js和socket.io,在我们决定实施SSL证书之前,一切正常。

在SSL之前,我们的SocketServer连接如下:

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

和Socket一样

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

实施后,我们在域下设置了Proxy指令。现在,发送到https://example.com/nodejs的任何请求都将传递给localhost:8080。 所以我改变了这样的联系:

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

但连接faild并重定向到404页面。我不知道问题出在哪里,所以我需要你的帮助。

由于

1 个答案:

答案 0 :(得分:1)

未找到Socket.io页面导致它在http服务器上侦听并且网站js通过https连接到它,这是我的解决方案,希望它有用:

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) {
    // ...
});