【问题标题】:How do I access my node.js website from an external device?如何从外部设备访问我的 node.js 网站?
【发布时间】:2016-01-29 17:49:38
【问题描述】:

我有一个 node.js 网站在我的 Ubuntu 虚拟机上运行。我可以从主机和虚拟机访问它。但是,如果我从通过 WiFi 连接到同一网络的外部设备尝试 http://192.168.10.120:80,它不起作用。

我需要做什么才能使同一本地网络上的外部设备可以访问该网站?

我已经在谷歌上搜索了几天,但仍然找不到答案......

【问题讨论】:

  • 除了已经发布的防火墙建议之外,请确保您的程序正在侦听主机 0.0.0.0 而不是 127.0.0.1
  • @apsillers,刚刚试了一下,确实如此..

标签: node.js virtual-machine ubuntu-14.04 external vmware


【解决方案1】:

如果主机是 Windows,您需要做两件事。一种是在您的 VM 设置中设置端口转发。如果您使用的是 Virtual Box,请查看 this。此外,根据您的内部网络设置,您可能需要允许通过 Windows 防火墙到端口 80 的入站连接。查看来自 Microsoft 的 article。自 Windows 7 以来,该过程并没有真正改变,因此在 8 或 10 上应该是相同的。

附带说明,通过默默无闻的安全性很糟糕,但我仍然不建议使用端口 80。

【讨论】:

  • 另外,我确定您要访问的 IP,但是在设置端口转发后,您需要访问主机的本地 IP,而不是虚拟机的 IP .设置端口转发本质上是告诉您的计算机将您计算机上的传入端口 80 流量路由到 VM 上的端口 80。
  • 我并不关心端口 80,我可以将其设置为大于 1024 的任何其他值...而且我使用的是 VMware,而不是 Virtual Box
  • 看起来对于 VMware,它位于编辑 > 虚拟网络设置 > NAT > 编辑 > 端口转发,但您可能需要四处寻找。
  • 谢谢,我试试看告诉你
猜你喜欢
  • 1970-01-01
  • 2012-02-20
  • 2015-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多