📅  最后修改于: 2023-12-03 15:08:15.450000             🧑  作者: Mango
在通过 Node.js 创建服务器后,我们可以在本地访问它并通过浏览器查看结果。但如果我们想让其他人也能够访问此服务器,该怎么办?在下面的文章中,我们将了解如何从另一台计算机访问 Node.js 服务器。
在本地主机上运行 Node.js 服务器之后,我们需要以下步骤来允许其他计算机访问它:
在我们开始这个过程之前,我们需要知道我们的计算机的 IP 地址。我们可以打开命令提示符(如果我们在 Windows 上运行),然后键入以下命令:
ipconfig
这将显示我们的计算机的 IP 地址和其他详细信息。我们要找的是 IPv4 地址。
在我们启动服务器之前,我们需要在我们的服务器代码中进行以下更改:
const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World!');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
请注意,我们将 hostname 更改为 0.0.0.0。这是一个通配符,它将允许我们在任何 IP 地址上监听请求。在此之后,我们需要将端口更改为 3000 或任何其他我们想要的端口(如果我们的应用程序在该端口上运行)。
我们现在需要确保我们的端口在防火墙上打开。如果我们在本地运行防火墙,我们可以通过在命令提示符中键入以下内容来查看我们的防火墙设置:
netsh advfirewall firewall show rule name=all
在输出中,我们需要找到我们的规则。如果我们不知道怎么找,我们可以使用以下命令过滤输出以查找规则:
netsh advfirewall firewall show rule name=all | find "mysql"
在上述示例中,"mysql" 是我们要查找的规则名称。
如果规则不存在,我们可以创建一个类似于以下内容的规则:
现在,我们已经做好了在另一台计算机上访问我们的 Node.js 服务器的准备工作。我们只需要在浏览器中键入以下内容:
http://<ip_address>:3000
其中,<ip_address> 是我们之前获取的 IP 地址,3000 是我们在代码中使用的端口。
现在,我们已经知道了如何从另一台计算机访问 Node.js 服务器。我们需要知道我们的计算机的 IP 地址,更改服务器代码并打开相应的端口。如果我们遵循上述步骤,我们可以使我们的服务器对外可见,并通过其他计算机进行访问。