nodejs + socket.io 同时使用http 和 https

socket.io和nodejs如果需要同时支持http和https的话需要怎么设置

nginx https 什么的已经设置好了

//端口
var port = normalizePort(process.env.PORT || 3002);
var https_port = normalizePort(process.env.HTTPS_PORT || 443);

//https证书
var opts = {
  key: fs.readFileSync('pem/openssl/ssl.key'),
  cert: fs.readFileSync('pem/openssl/ssl.crt')
};

var server = http.createServer(handler);
var httpsServer = https.createServer(opts, function(req, res) {
  res.writeHead(200, {
    "Content-Type": "text/plain"
  });
  res.write("hello https");
  res.end();
});

server.listen(port);
httpsServer.listen(https_port);

server.on('error', onError);
server.on('listening', onListening);

httpsServer.on('error', onError);
httpsServer.on('listening', onListening);

//socket.io
var io = require('socket.io')({});			<-------- 这里改如何设置

io.attach(server);
io.attach(httpsServer);

posted on 2018-08-08 19:59  &大飞  阅读(642)  评论(0)    收藏  举报

导航