我需要一些帮助来访问我在 Mac 上运行的服务器。所以基本上我的设置包括在 Mac 上运行我的服务器,并使用 XCode 在通过 USB 连接的 iPhone 上运行应用程序。然后这台 iPhone 和 Mac 都在同一个 WiFi 网络上,这是我在另一台 iPhone 上运行的个人热点。
我试图从 iPhone 访问本地主机,基本上使用我的 mac 的 IP 地址和正确的端口:
http://IPADDRESS:PORT/
,但这似乎不起作用。关于这里可能发生的情况以及潜在的解决方法或解决方案的任何想法。目前无法连接到非热点、传统 WiFi 网络。
如果设置正确,这将起作用;我现在正在做。请记住,如果您想从非本地主机 IP 进行连接,则必须将服务器绑定到
0.0.0.0
— 而不是 127.0.0.1
。另请检查您的系统防火墙。
如果您仍然遇到问题,Tailscale 是另一个可能有帮助的解决方案 — https://tailscale.com
我建议您考虑使用 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]
(如果使用 TLS,则为 ngrok tls [port]
)
这将为您提供一个可在您的应用程序中使用的 URL。在免费帐户上,URL 将在每次重新启动时更改,付费帐户将获得静态 URL 选项。
如果您没有 Homebrew,请从以下位置下载并按照说明进行操作:https://ngrok.com/download