node.js - VirtualBox端口转发问题

标签 node.js virtualbox portforwarding

我在端口转发方面遇到了一个奇怪的问题。我已经使用过它很多次了,它似乎对我来说没有任何问题(Ubuntu 客户,Ubuntu 主机)。

我现在正在处理一个问题,即特定的基于 NodeJS 的服务器将在 guest 中 curl ,但不会在主机中 curl ,尽管在该端口上设置了端口转发。我在同一个机器上运行另一台服务器( guest 和主机上有不同的端口),该服务器运行正常,所以我知道这不是 virtualbox 等的系统问题。

我发现了许多端口转发问题和许多解决方案,但没有一个对我有用。我已经检查过我的防火墙没有问题。我尝试过同时运行 tcp 和 udp。我尝试将端口从 3000 更改为 8123,我知道我过去曾成功使用过该端口。我尝试过弄乱 0.0.0.0 和 127.0.0.1 的几乎所有可能的配置。

基本上,我没有想法,正在寻找其他可以尝试的东西。还有什么可能导致此类问题?还有其他调试策略可以尝试吗?

最佳答案

Ok, I resolved the problem by setting the Express server to listen on an IP of 0.0.0.0 instead of 127.0.0.1.

端口转发适用于特定的网络适配器。您会注意到,在设置中,端口转发按钮实际上位于特定 NIC 的选项卡上。

VirtualBox Network Settings

当您的代码监听 127.0.0.1 时,它仅绑定(bind)到环回虚拟适配器。它必须绑定(bind)到您要为其进行端口转发的网络适配器。您可以直接绑定(bind)到该接口(interface)的地址,也可以使用 0.0.0.0 来监听任何适配器。完成此操作后,到该特定适配器的端口转发将起作用。

关于node.js - VirtualBox端口转发问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44309208/

相关文章:

node.js - 使用 Mongoose 从表单中提取数据并添加到数据库

javascript - 低延迟 websocket html 5 游戏的数据包大小

node.js - 在 Windows 主机上的 Ubuntu VM 上安装 socket.io 时出错

docker - 预创建检查错误 : "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"

Laravel Homestead 无法正常工作,只是不断超时

Docker 端口转发适用于 IPv6 但不适用于 IPv4

javascript - 如何在 GraphQL 中使用变异方法在模型中创建关系?

node.js - 如何在满足特定条件时广播消息

macos - 在 Mac OS X 上为透明代理设置端口转发时遇到问题

linux - UPnP 端口转发持续存在