错误:在监听端口 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的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat监听443端口的方法

如何修复监听端口 80 的远程端口转发失败

oracle配置监听时提示端口被占用

nginx 不会两次监听 80 端口?

更改 Node.js 监听端口

Php-fpm不会监听端口