如何从另一台计算机访问我的笔记本电脑上的本地网络服务器?

如何从另一台计算机访问我的笔记本电脑上的本地网络服务器?

我的电脑上有一个应用程序在 127.0.0.1:3000 上运行

我想从连接到同一网络的 iPhone 访问该应用程序。我以前这样做过,但不知道怎么做。有什么想法吗?

答案1

首先,您需要确定运行 Web 服务器的计算机的 IP 地址或名称。我假设您在 Mac 上运行 Web 服务器,因为您标记了您的帖子macosx,尽管 Linux 计算机的说明类似。因此,在您的 Mac 上:

  • 打开Terminal.app。它在 下方Applications->Utilities
  • 在终端中运行ifconfig。这会显示机器上的所有网络接口。其中一个是您的机器主动连接的网络。如果您的 Mac 使用的是有线连接,则应该是en0。记下后面的地址inet- 这应该是您的机器使用的地址。
    • 假设您发现它是 192.168.10.1。
  • 验证您是否可以从您的服务器连接到该地址nc -v 192.168.10.1 3000。(将 3000 替换为您的应用程序正在运行的端口)
    • 您应该会看到类似的消息Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
    • 如果这不起作用,请参见下文。
    • 如果确实有效,请点击ctrl-C退出 nc 会话。
  • 现在尝试在您的客户端机器上进行连接。

如果您无法连接到服务器真实地址上的应用程序,则意味着您的应用程序未监听该地址。您需要研究如何更改应用程序配置以修改该行为。由于我不知道您正在运行什么应用程序,因此我无法提供任何好的想法。

答案2

使用(在终端提示符下)查找您的 Mac 的名称,hostname并将其用于您的 URL。例如http://Tonys-iMac.local:3000/

如果由于某种原因 Bonjour 无法在您的环境中使用,请使用以下命令在 iMac 或 MacBook 上查找 Airport 的地址:

ipconfig getifaddr en1

或者一般来说

ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')

答案3

基本上,您可以从防火墙设置中允许某个应用程序(例如 ruby​​)接受传入连接。此外,要允许访问外部世界(例如 www),您需要通过路由器设置将流量转发到内部网关:端口。

具体操作如下:

  1. Mac->系统偏好设置->共享->启用“Web 共享”复选框
  2. Mac->系统偏好设置->安全->允许您的应用程序(例如 ruby​​)接受传入连接
  3. 打开路由器上的一个端口(通过 192.168.1.1)以将流量从 your_web_ip:port 转发到 local_gateway:port

    1. 例如从我的 Verizon 路由器设置->端口转发->创建规则:转发到本地网关(例如 192.168.1.4)、自定义端口、协议 tcp、源=任何、目标=3280、所有连接类型、转发到端口 = 3000。

完成。现在从远程计算机,打开浏览器,输入你的网络 IP 地址(通过以下方式查找http://www.whatismyip.com/)+上面的目标端口号,例如 72.189.194.65:3280,这将连接到您本地的 192.168.1.4:3000

注意:我在 Mac OSX 10.7.5 上运行

答案4

127.0.0.1 是每台计算机的本地地址。您必须找出机器的真实 IP 地址(或主机/Bonjour 名称)。转到“系统偏好设置”、“网络”,查找机器的 IP,如果使用电缆,则查找以太网端口的 IP,如果使用 WLAN,则查找 Airport 的 IP。然后在 iPhone 上的 Safari 中打开此地址以及 :3000 部分。

相关内容