Я могу запустить сервер HTTPS с помощью модуля узла https
. Сгенерированные самоподписанные сертификаты, используя следующие шаги:
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes -keyout example.key -out example.crt
Убедитесь, что для самоподписанного у вас есть правильные имена CN. В моем случае это был localhost
Вот пример кода:
var app = require('express')();
const http = require('http');
const https = require('https');
var path = require('path');
const WebSocket = require('ws');
const fs = require('fs');
const PORT = 8080;
const server = https.createServer({
key: fs.readFileSync(path.resolve(__dirname+'/example.key')),
cert: fs.readFileSync(path.resolve(__dirname+'/example.crt')),
rejectUnauthorized: false
}, app)
server.listen(PORT, function(){
console.log(`Listening on https://localhost:${PORT}`);
//vncClient = new WebSocket.Server({server: server});
// vncClient = new WebSocket.Server({port: 3000});
// vncClient.on('connection', new_client);
});
var io = require('socket.io').listen(server);
io.sockets.on('connection',function (socket) {
console.log("listening..")
});
app.get("/", function(request, response){
response.send("Hello World").status(200)
});
// server.listen(PORT, function(){ // ssl commented
// console.log(`Listening on http://localhost:${PORT}`); // ssl commented
// vncClient = new WebSocket.Server({port: 3000}); // ssl commented
// vncClient.on('connection', new_client); // ssl commented
// });