我可以使用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并没有任何反应。
答案 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(或所有相互作用)。