Meteor - 使用公共IP访问应用程序

时间:2014-03-08 22:51:27

标签: meteor localhost

我可以使用localhost:3000访问该应用程序,但我尝试在本地从移动设备进行测试,而无需部署它。但我无法访问该网站。

我允许传入请求:

sudo ufw status verbose
Status: active
Logging: on (low)
Default: allow (incoming), allow (outgoing)
New profiles: skip

To                         Action      From
--                         ------      ----
3000/tcp                   ALLOW IN    Anywhere
3000/tcp                   ALLOW IN    Anywhere (v6)

我发现我的IP地址是128.84.125.239所以我访问128.84.125.239:3000并没有任何反应。

2 个答案:

答案 0 :(得分:1)

这结果是使用正确的IP或适当地配置路由器的NAT的问题。使用cmyip.com等服务只会为您提供外部IP地址。如果您的路由器已相应配置,则此地址只能到达您的meteor应用程序,即路由器会将请求在端口3000(或您正在运行应用程序的任何端口)上转发到服务器。

为了在开发过程中在移动设备上进行测试,假设您的移动设备与应用程序服务计算机位于同一网络,则最有可能使用内部IP地址。

在Linux上,您可以使用ifconfig获取内部IP。如果您通过以太网连接,那么您将在寻找设备eth0(在大多数情况下)。如果您通过wifi连接,那么您正在寻找的设备通常称为wlan0

在Mac OSX上,您也可以使用ifconfig,并查找名为enX的设备,其中X是一个数字(通常为0或2)。

答案 1 :(得分:0)

您的服务可能只在本地运行(在本地端口上,127.0.0.0 / 8)。要确认这一点,请运行netstat -tulpn以查看正在运行的服务以及端口/接口。如果您没有看到0.0.0.0:3000或128.84.125.239:3000,那么您将无法从您正在尝试的IP中获取它,并且您需要将应用程序的绑定地址更改为该IP(或所有相互作用)。