2017-06-01 81 views
0

我遇到了端口转发的一个奇怪问题。我已经使用了很多次,似乎没有任何问题(Ubuntu guest,Ubuntu主机)。VirtualBox端口转发问题

我现在正在处理一个问题,其中一个特定的基于NodeJS的服务器将卷曲在来宾但不是主机,尽管端口转发设置在该端口上。我正在同一个盒子上运行另一台服务器(在客户端和主机上有不同的端口),所以我知道这不是virtualbox等的系统问题。

我发现了许多端口转发问题和很多解决方案,但他们都没有为我工作。我检查过我的防火墙不是问题。我试过运行tcp和udp。我尝试将端口从3000更改为8123,我知道过去我已成功使用该端口。我试过几乎所有可能的配置0.0.0.0和127.0.0.1。

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

回答

1

好吧,我解决了这个问题,将Express服务器设置为监听IP为0.0.0.0而不是127.0.0.1。

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

VirtualBox Network Settings

当你的代码侦听127.0.0.1,它绑定到只回送虚拟适配器。它必须绑定到您要端口转发的网络适配器。您可以直接绑定到该接口的地址,或使用0.0.0.0来收听任何适配器。一旦你完成了,你的端口转发到该特定的适配器将工作。

0

好吧,我解决了这个问题,通过设置Express服务器监听IP为0.0.0.0而不是127.0.0.1。一旦我改变了,主机访问工作(在127.0.0.1和0.0.0.0上)。

我还是不明白,但希望这个信息可以帮助别人以后。