通过设置encryption的Nodejs WebSocket服务器的问题

我试图让一个nodejs wss服务器启动并运行。 为此,我使用Express4框架和eniaros / ws模块。

但遗憾的是,我无法启动并运行WSS-Server。 正常的WS-Server工作正常,但每次尝试连接到我的WSS时,客户端都会连接并直接断开连接。

我的证书是自签名的。

我的代码如下所示。 如果有人能帮助我,这将是非常棒的!


var express = require('express'); var router = express.Router(); var app = express(); var http = require('http'); var https = require('https'); var WebSocket = require('ws').Server; var path = require('path'); var fs = require('fs'); // Routes app.use('/', require('./routes/index')); // Load config files var db_conf = require('./config/vops_db_config.json'); var server_conf = require('./config/vops_server_config.json'); // TLS-Files var cert_basepath = './config/certs/'; var tls_key = fs.readFileSync(cert_basepath + server_conf.tls.key_path); var tls_cert = fs.readFileSync(cert_basepath + server_conf.tls.cert_path); var https_options = { ssl: true, port: 3030, key : tls_key, cert: tls_cert }; // Start all HTTP-Servers var httpServer = http.createServer(app); var httpsServer = https.createServer(https_options, app); httpServer.listen(3000, function () { console.log('HTTP-Server now listening on port ' + 3000); }); httpsServer.listen(3030, function(){ console.log('HTTPS-Server now listening on port '+ 3030); }); // Start WebSocket-Server var wss = new WebSocket( { server: httpServer }); wss.on('connection', function(ws) { ws.on('message', function(message) { console.log('received: %s', message); }); ws.send('something'); });