在 Windows 上侦听端口 1880 失败

Posted

技术标签:

【中文标题】在 Windows 上侦听端口 1880 失败【英文标题】:Listening to Port 1880 fails on Windows 【发布时间】:2020-04-03 11:32:32 【问题描述】:

我无法启动一个监听 1880 端口的服务器。我在 Node.js 中尝试了这个简单的代码:

var http = require('http');
http.createServer(function (req, res) 
      res.writeHead(200, 'Content-Type': 'text/plain');
      res.write('Hello World!');
      res.end();
).listen(1880);

这给了我以下错误:

Error: listen EACCES: permission denied 0.0.0.0:1880
[90m    at Server.setupListenHandle [as _listen2] (net.js:1283:19)[39m
[90m    at listenInCluster (net.js:1348:12)[39m
[90m    at Server.listen (net.js:1436:7)[39m
    at Object.<anonymous> (C:\Users\mmueller\Desktop\test\test.js:6:4)
[90m    at Module._compile (internal/modules/cjs/loader.js:956:30)[39m
[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)[39m
[90m    at Module.load (internal/modules/cjs/loader.js:812:32)[39m
[90m    at Function.Module._load (internal/modules/cjs/loader.js:724:14)[39m
[90m    at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)[39m
[90m    at internal/main/run_main_module.js:17:11[39m
Emitted 'error' event on Server instance at:
[90m    at emitErrorNT (net.js:1327:8)[39m
[90m    at processTicksAndRejections (internal/process/task_queues.js:80:21)[39m 
  code: [32m'EACCES'[39m,
  errno: [32m'EACCES'[39m,
  syscall: [32m'listen'[39m,
  address: [32m'0.0.0.0'[39m,
  port: [33m1880[39m

我尝试了什么:

检查是否有其他程序正在侦听此端口(即 不是这样) 在管理控制台中执行的命令 禁用 windows 防火墙 已禁用卡巴斯基工具

仍然没有成功。 使用端口 1881 它也不起作用。所以某些端口范围无法访问。 但是例如端口 18800 它可以工作。

我还能做些什么来弄清楚为什么我无权监听端口 1880?如果不是防火墙或防病毒软件,还有什么可能阻止此端口访问?

【问题讨论】:

【参考方案1】:

我发现了问题:Hyper-V 在 Windows 上保留了一些端口。

netsh int ip show excludedportrange protocol=tcp

【讨论】:

以上是关于在 Windows 上侦听端口 1880 失败的主要内容,如果未能解决你的问题,请参考以下文章

如何启动 Windows 服务网络进程以侦听 UAC 下普通用户可见的 localhost 套接字上的端口?

配置为侦听端口 8080 的 Tomcat 连接器失败

Windows 2003 上的 Apache 和 IIS 并排(都侦听端口 80)

Linux下侦听端口被占用,怎么解决?

无法连接到端口 8080 上的 EC2 Windows 实例

尽管主机说它正在侦听端口,但无法使用 drda 连接到另一台机器上的 informix