在连接到热点时通过 iPhone 连接到 localhost

Posted

技术标签:

【中文标题】在连接到热点时通过 iPhone 连接到 localhost【英文标题】:Connecting to localhost via iPhone while connected to a hotspot 【发布时间】:2020-08-03 23:05:08 【问题描述】:

我需要一些帮助来访问我在我的 mac 上运行的服务器。所以基本上我的设置包括我在其上运行我的服务器的 mac 以及使用 XCode 在通过 USB 连接的 iPhone 上运行应用程序。然后这台 iPhone 和 mac 都在同一个 wifi 网络上,这是我在不同 iPhone 上运行的个人热点。我试图通过基本上使用我的mac的IP地址和正确的端口来从iPhone访问localhost:http://IPADDRESS:PORT/,但这似乎不起作用。关于这里可能发生的事情以及潜在的解决方法或解决方案的任何想法。连接到非热点,传统的wifi网络暂时不是一个选择。

谢谢!

【问题讨论】:

【参考方案1】:

如果您设置正确,这将起作用;我现在正在做。请记住,如果您想从非本地主机 IP 连接,则必须将服务器绑定到 0.0.0.0 — 而不是 127.0.0.1。同时检查您的系统防火墙。

如果您仍然遇到问题,Tailscale 是另一种可能会有所帮助的解决方案 — https://tailscale.com

【讨论】:

【参考方案2】:

我建议您看一下使用ngrok 作为解决方案,这将创建一个安全隧道并通过 url 公开在您的 Mac 上运行的服务。

您需要创建一个帐户并检索您的身份验证令牌。

然后您可以使用 Homebrew 通过在终端中运行来安装它:brew cask install ngrok

安装后,在终端中输入连接您的帐户:ngrok authtoken [auth_token]

要启动隧道,请在终端中输入:ngrok [protocol] [port number]

例如,要启动到在您的 Mac 上运行的 HTTP 服务器的隧道:ngrok http 80(或 ngrok http 443 用于 HTTPS)

如果是自定义 TCP 协议,则使用:ngrok tcp [port](或 ngrok tls [port],如果使用 TLS)

这将为您提供一个可在您的应用中使用的 URL。在免费帐户上,每次重启时 URL 都会更改,付费帐户会获得静态 URL 选项。


如果您没有 Homebrew,请从以下网址下载并按照说明操作:https://ngrok.com/download

【讨论】:

以上是关于在连接到热点时通过 iPhone 连接到 localhost的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 定位服务在连接到 XCode 后显示错误的位置

从树莓派连接到 iPhone 热点

iPhone - 数据 URI(css 背景图像)仅在连接到 WIFI 时有效

在连接到 IPv6 网络的 Wi-Fi 上运行 iOS 10.0

我的 sim800l 仅在连接到打开串行监视器的笔记本电脑时工作

SSMA 在连接到 microsoft access 数据库时挂起