112

如何允许任何设备(例如 iPhone)通过 WLAN 连接到我的 Mac 的 localhost 服务器?

在我的 Mac 上,我正在运行一个“Hello World”HTTP Node.js服务器,该服务器提供一个 Safari 成功打开的页面,位于http://localhost:1337. 并且,ipconfig getifaddr en1在终端输出中运行192.168.1.9

但是,iPhone 和 Mac 上的 Safari 在尝试打开http://192.168.1.9:1337.

我认为这不应该涉及端口转发,因为我只希望 HTTP 服务器可以私下使用,而不是公开使用。

有关的:

4

14 回答 14

63

我有同样的问题。我关闭了我的 Mac 上的 WI-FI,然后再次打开它,这解决了问题。单击设置 > 关闭 WI-FI。

我通过在我的 iPhone 上访问 Safari 并输入我的主机名或 IP 地址来测试它。例如: http://<name>.localhttp://10.0.1.5

于 2014-09-26T18:14:40.640 回答
56

让您的服务器监听0.0.0.0而不是localhost.

于 2012-09-30T00:25:16.260 回答
34

我只能使用http://name.local:1337. 您必须添加“.local”您可以在系统偏好设置/共享/“计算机名称”下找到您的计算机名称。

于 2014-02-19T15:01:47.567 回答
15

尝试启用 Internet 共享:
打开系统偏好设置 -> 共享。检查 Internet 共享以将其打开,它会提示您确认您的操作,选择确定。如果您的 iPhone 使用 USB 连接,则在右侧的“共享您的连接”列表中选中 iPhone USB。
在此之后,尝试在 wifi 上使用您的 macs ip 访问您的本地服务器。

于 2014-10-12T18:39:08.340 回答
13

我的问题是一样的,但解决方案与更改防火墙设置有关。事实证明,该节点被设置为阻止传入流量。我知道有什么事情发生了,因为我曾经能够从我的手机访问我的本地主机服务器。

转到System Preferences -> Security & Privacy -> Firewall -> Firewall Options,然后向下滚动,直到找到node并确保 node 的设置设置为Allow incoming connections

更改设置后,我可以通过访问http://192.168.1.11:3000访问在我的 Mac 上运行的本地主机服务器(端口 3000)

于 2016-12-15T23:40:28.103 回答
7

我解决了一个类似的问题。

  • 将 Mac 和 iPhone 连接到同一个 Wi-Fi
  • 更改 iPhone Wi-Fi 设置,将 http 代理设置为手动并将服务器更改为您的 Mac ip 地址并设置端口。我的港口是80。

图一

图二

  • 你可以http://<Mac ip>:<your customer server port>在 iPhone 的 safari中输入
于 2018-02-13T06:23:29.247 回答
5

MacOS Sierra 用户可以通过转到System Preferences > Sharing并检查计算机名称文本输入下方来找到他们自动生成的虚 URL。要访问它,请通过与计算机相同的 Wi-Fi 连接在 iPhone 上输入此 URL 以及您的端口号(例如 your-name.local:8000)。

于 2017-11-03T16:53:56.650 回答
5
  1. 通过 USB 将 iPhone 连接到 Mac。

  2. 转到网络实用程序(cmd+空格并键入“网络实用程序”)

  3. 转到“信息”选项卡

  4. 单击显示“Wi-Fi”的下拉菜单,然后选择“iPhone USB”,如下所示:

    步骤 4 的照片

  5. 您会找到类似“xxx.xxx.xx.xx”或类似的 IP 地址。在 iPhone 上打开 Safari 浏览器并输入 IP_address:port_number

    示例:169.254.72.86:3000

[注意:如果 IP 地址字段为空白,请确保您的 iPhone 已通过 USB 连接,退出 Network Utility,再次打开并检查 IP 地址。]

于 2018-08-16T00:46:30.323 回答
3

我建议使用计算机的名称,例如http://mymac:1337/. 对我来说非常完美,不需要任何配置,而且我不必关心由于 DHCP 而更改 IP 地址。

于 2012-09-30T00:59:47.540 回答
3

正如发布的那样,我遵循了 moeamaya 的回答,但需要对其进行一些修改才能在 Sites 目录中看到我的工作。

http://[name].local.~[username]/

[名称]如前所述(系统偏好设置/共享/“计算机名称”)

[用户名]位于:

/etc/apache2/users/username.conf

希望这可以帮助!

于 2014-08-02T03:20:09.450 回答
3

确保您的手机和 mac 机器都连接到同一个 wifi 并且您很高兴去您的http://<machine-name>.local

于 2017-05-24T06:03:21.643 回答
1

尝试了此页面上的所有内容,但http://<name>.local:<PORT>仅在我退出并重新启动 Safari 后才能在我的 iPhone 上运行...

于 2019-01-04T07:04:33.540 回答
1

始终使用网络设置中显示的 IP。当您更改位置并使用另一个无线连接时,它会发生变化。

例如,在我的情况下,现在是:10.0.0.5

于 2019-01-12T01:47:01.367 回答
-1

另外,请确保服务器正在侦听您的移动设备!例如,默认情况下,jekyll 只回答主机发出的请求。这解决了我的问题:

使用局域网中的移动设备连接到本地构建的 Jekyll 服务器

于 2017-12-18T19:21:33.983 回答