Я пытаюсь создать https-сервер для проверки сокета io по node js. Согласно этой странице
openssl genrsa -out privatekey.pem 2048
openssl req -new -key privatekey.pem -out certrequest.csr
openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem
![enter image description here](https://i.stack.imgur.com/H9tkZ.png)
я создал privatekey.pem
и certificate.pem
, и это мои коды:
var express = require('express');
var https = require('https');
var fs = require('fs');
var options = {
key: fs.readFileSync('privatekey.pem'),
cert: fs.readFileSync('certificate.pem')
};
var app = express();
var server = https.createServer(options, app).listen(443);
var io = require('socket.io').listen(server,()=>{
console.log('listen to https');
});
io.on('connection', function (socket) {
console.log(' user connected');
socket.on('disconnect', function () {
console.log('a user disconnected');
});
});
но после запуска сервера я получил следующие ошибки:
tazik@mx:/mnt/Projects/Projects/nodejs/socketserver
$ node app.js
events.js:288
throw er; // Unhandled 'error' event
^
Error: listen EACCES: permission denied 0.0.0.0:80
at Server.setupListenHandle [as _listen2] (net.js:1292:21)
at listenInCluster (net.js:1357:12)
at Server.listen (net.js:1445:7)
at Object.<anonymous> (/mnt/Projects/Projects/nodejs/socketserver/app.js:15:24)
at Module._compile (internal/modules/cjs/loader.js:1158:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Module.load (internal/modules/cjs/loader.js:1002:32)
at Function.Module._load (internal/modules/cjs/loader.js:901:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
at internal/main/run_main_module.js:18:47
Emitted 'error' event on Server instance at:
at emitErrorNT (net.js:1336:8)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
code: 'EACCES',
errno: 'EACCES',
syscall: 'listen',
address: '0.0.0.0',
port: 80
}
Я использую linux mx.