V tomto článku uvediem postup ako odstrániť error EACCES: permission denied pri spustení https servera na porte 443 vytvoreného v Node.js.
Keď spustím server vytvorený v Node.js cez príkaz node server
na porte 443, zobrazí sa mi nasledujúce chybové hlásenie.
node:events:368
throw er; // Unhandled 'error' event
^
Error: listen EACCES: permission denied 0.0.0.0:443
at Server.setupListenHandle [as _listen2] (node:net:1313:21)
at listenInCluster (node:net:1378:12)
at Server.listen (node:net:1465:7)
at Object.<anonymous> (/home/<user>/Documents/https-server/server.js:67:4)
at Module._compile (node:internal/modules/cjs/loader:1097:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10)
at Module.load (node:internal/modules/cjs/loader:975:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:17:47
Emitted 'error' event on Server instance at:
at emitErrorNT (node:net:1357:8)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: 'EACCES',
errno: -13,
syscall: 'listen',
Pre vyriešenie uvedeného problému uvádzam dve riešenia.
Prvým riešením je zmena portu 443 na port 8000 alebo 8082.
Druhým riešením je spustenie servera ako administrátor.
Namiesto príkazu
node server
uvediete príkaz
sudo node server
Ktorékoľvek z vyššie uvedených riešení odstráni Error: listen EACCES: permission denied 0.0.0.0:443.