错误:在监听端口 444/443 时监听 EACCES 0.0.0.0:444 node.js
Posted
技术标签:
【中文标题】错误:在监听端口 444/443 时监听 EACCES 0.0.0.0:444 node.js【英文标题】:Error: listen EACCES 0.0.0.0:444 node.js while listening on port 444/443 【发布时间】:2017-08-01 14:41:10 【问题描述】:我正在使用 node.js 开发 webrtc 应用程序。当我运行命令“node server.js”时出现以下错误。
running on https://localhost:444
events.js:160
throw er; // Unhandled 'error' event
^
Error: listen EACCES 0.0.0.0:444
at Object.exports._errnoException (util.js:1022:11)
at exports._exceptionWithHostPort (util.js:1045:20)
at Server._listen2 (net.js:1246:19)
at listen (net.js:1295:10)`enter code here`
at Server.listen (net.js:1391:5)
at Object.<anonymous> (C:\Websites\WebRTC\server.js:16:63)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
而我的 server.js 是
var fs = require('fs'),
express = require('express'),
https = require('https'),
http = require('http');
var app = express();
app.use(express.static(__dirname));
http.createServer(app).listen(444);
console.log('running on https://localhost:444');
谢谢。
【问题讨论】:
这是 Windows 10 这也可能是 Windows 中的权限问题 - 尝试以管理员帐户身份运行命令提示符 我尝试了相同但仍然相同的错误。还将我的解决方案托管在 Windows Server 2012 R2 IIS-8 上,但没有任何变化!。 您的代码没有问题 - 试过了,效果很好 尝试netstat -anb
看看是否有任何东西正在监听端口 444
【参考方案1】:
监听1024以下的端口需要root权限 https://unix.stackexchange.com/questions/16564/why-are-the-first-1024-ports-restricted-to-the-root-user-only
只需在命令前加上 sudo 即可运行应用程序
sudo node server.js
【讨论】:
windows不是linux,windows没有sudo 在我发布答案之前,作者没有提到这一点。很抱歉。 确实如此。但错误消息包含一个 windows 样式路径以上是关于错误:在监听端口 444/443 时监听 EACCES 0.0.0.0:444 node.js的主要内容,如果未能解决你的问题,请参考以下文章