I am trying to create https server to test socket io by node js. According this page
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
I created privatekey.pem
and certificate.pem
and this is my code:
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'); });});
but after running server i got this errors:
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:47Emitted '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}
I am using linux mx.