为什么我无法通过不同或特定的 IP 地址访问 express js 服务

Why I am unable to access express js service through different or specific ip address

提问人:Ritik Rajvanshi 提问时间:5/13/2023 最后编辑:Ritik Rajvanshi 更新时间:5/13/2023 访问量:19

问:

这是我的后端代码。

var port = normalizePort(process.env.PORT || '3009');
app.set('port', port);

var server = http.createServer(app);
const ip ='198.168.0.132'

server.listen(port, ip ,()=>{
  console.log(`Server running on ${ip}:${port}`);
});

我也尝试使用端口 0.0.0.0,但没有用。 我还创建了一个防火墙入站规则,供连接到 LAN 的每个人访问。

我正在邮递员上检查它的结果,它没有显示所需的结果。使用我的 IP 地址在邮递员上的结果

但是当我使用 localhost:3009 执行此操作时,我得到了所需的数据。那么我如何使用我的 IP 地址运行我的 api/后端。

node.js angularjs express 后端 nodejs-server

评论

1赞 slebetman 5/13/2023
不要限制只侦听一个 IP 地址。删除 IP 地址限制:server.listen(port ,()=>console.log('Server running on ' + port ));
0赞 Ritik Rajvanshi 5/13/2023
这只是为了检查它是否在此 IP 上运行。
0赞 slebetman 5/13/2023
不。这是为了只允许从这个 IP 访问。
0赞 slebetman 5/13/2023
所以。。当您使用 IP 创建 TCP 侦听套接字(在 C/C++ 中,而不仅仅是 javascript - 节点的 http 模块(express 使用)仅将参数传递给 C 时会发生什么,套接字库将找到已分配该 IP 地址的网络接口(以太网或 wifi 卡)。一旦找到它,它将只监听该接口(以太网或 wifi 卡)。IP 地址不是筛选器。这是将侦听套接字绑定到特定网卡的请求。
0赞 Ritik Rajvanshi 5/13/2023
我明白了,我还使用 0.0.0.0 来监听与 lan 连接的其他 ip。

答: 暂无答案