【发布时间】:2018-06-17 07:30:51
【问题描述】:
我有这台基本服务器并在一台特定的 PC 上,如果我访问 http://localhost 它工作正常。但是,如果我使用它的 IP 或尝试使用它的 IP 从任何其他设备连接,它就不起作用。我尝试在其他几台 PC 上运行它,它运行良好,我也确信它过去曾经运行过。因此,我尝试在防火墙中手动打开该端口以用于端口 80 的入站连接,但仍然无法正常工作。我还用端口 3000 进行了测试,这似乎有效。所以这与端口有关。我尝试使用 netstat,查看端口 80 上是否正在运行其他任何东西,但我找不到任何东西。有什么想法吗?
var express = require('express');
var app = require('express')();
var webHttp = require('http').Server(app);
app.use(express.static('public'));
webHttp.listen(80)
谢谢, 尼克
【问题讨论】:
-
这里有一个例子让它更清楚。我在具有本地 IP 192.168.1.104 端口 80 的 PC 上运行上述服务器。如果我尝试从这个 URL localhost 访问它,它工作正常。如果我尝试从 IP 访问它,192.168.1.104,它不会。现在,如果我将服务器端口更改为 3000,localhost:3000 和 192.168.1.104:3000 都可以正常工作。
-
如果你输入
http://192.168.1.104甚至http://192.168.1.104:80会怎样? -
我都试过了,但它也不起作用,这是特定于这台电脑的。它适用于其他电脑
-
如果它在另一台 PC 上运行良好,那么这只是特定 PC 的一些配置,与您的代码无关。
-
是的,我明白了。我只是问是否有人有类似的问题并知道可能导致这种情况的原因。我刚刚使用了这个来自 MS 的 (docs.microsoft.com/en-gb/sysinternals/downloads/tcpview) 工具来检查端口 80 上是否运行了其他任何东西,但它是干净的。
标签: node.js http express ip localhost