Node.js 无法从其他计算机访问macOS High Sierra上的Nodejs/Express服务器
我在MacOS High Sierra上启动了一个简单的express服务器<代码>本地主机:3000和Node.js 无法从其他计算机访问macOS High Sierra上的Nodejs/Express服务器,node.js,macos,express,server,Node.js,Macos,Express,Server,我在MacOS High Sierra上启动了一个简单的express服务器本地主机:3000和127.0.0.1:3000工作正常。但是,当我通过http://192.168.x.x:3000从另一台计算机,我没有得到任何响应(ERR\u EMPTY\u response) 我在另一台MacBook(MacOS Sierra)和一台Windows计算机上测试了服务器,一切正常 所以我想MacOS High Sierra有问题 欢迎任何帮助。提前谢谢 这是代码: const express =
127.0.0.1:3000
工作正常。但是,当我通过http://192.168.x.x:3000
从另一台计算机,我没有得到任何响应(ERR\u EMPTY\u response
)
我在另一台MacBook(MacOS Sierra)和一台Windows计算机上测试了服务器,一切正常
所以我想MacOS High Sierra有问题
欢迎任何帮助。提前谢谢
这是代码
:
const express = require('express')
const app = express()
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(3000, () => console.log('Example app listening on port 3000!'))
指
一旦您安装了Node,让我们尝试构建我们的第一个web服务器。创建一个名为“app.js”的文件,并粘贴以下代码:
之后,使用node app.js运行web服务器,访问,您将看到一条消息“Hello World”
更新MacOS 我曾尝试重新安装节点、npm、更改共享设置,但它们也不起作用 最后,我更新了MacOS(
10.13.4
-->10.13.5
),现在其他计算机可以访问我的服务器了
----------更新-------------
过了几天(愉快的)之后,这个问题又出现了
幸运的是,现在我非常确定ESET端点安全性是问题所在,因为它是我安装的最后一个应用程序。
因此,我打开ESET防火墙并创建一个新规则,允许本地网络地址通过TCP和UDP连接。
服务器再次像魅力一样工作
希望这对其他人有所帮助。在中启用共享settings@RatanUdayKumar谢谢你的评论。对不起,我还是不知道该怎么办。你能告诉我更多的细节吗?@bambam很抱歉,但那个在我的情况下不起作用。你应该指定什么不起作用。我更改了代码如下
app.listen(3000,'192.168.100.xxx',()=>console.log('Example app listening on port 3000!')
,其中192.168.100.xx
是我从路由器得到的IP。但是,该应用程序仍然无法从网络中的其他计算机访问。const hostname应该保留从路由器(通常类似于192.168.1.XXX)分配的ip,而不是localhost,以便从网络中的其他计算机访问该应用程序。。。
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});