【问题标题】:Access local site with subdomain on iPhone在 iPhone 上使用子域访问本地站点
【发布时间】:2014-06-02 00:08:33
【问题描述】:

我了解,您可以通过在地址栏中输入您计算机的 IP 地址(以及相关的本地端口)从运行在同一网络上的移动设备访问您计算机的本地站点。但是,我经常使用子域进行开发。在我的本地,我使用 lvh.me 访问子域。例如:

blog.lvh.me

但是,这不适用于移动设备,因为 lvh.me 正在重定向到 IP 127.0.0.1。

有没有办法访问 IP 地址上的子域?本质上,与上面的代码做同样的事情,但允许动态 IP 地址取决于我的计算机当时的 IP?

【问题讨论】:

  • 没有。除非您在其自己的 IP 上设置该子域,否则不会。如果您在单个 IP 上托管多个站点(所谓的“基于命名的虚拟主机”),您的浏览器无法发送 HTTP Host: 标头来识别您正在访问的站点。当多站点/单 IP 托管发生时,IP 不足以识别站点。如果这都是本地的,您始终可以设置一个仅限本地的 DNS 服务器,将您的手机指向它,然后您可以使用任何您想要的主机名。

标签: iphone mobile ip localhost


【解决方案1】:

所以,在继续研究之后,我发现了一个非常棒的工具,可以完全实现上述功能:

xip.io

例如,如果我的计算机的 IP 地址为 124.4.1.3,并且我在 blog.lvh.me 运行 Web 服务器,其中 lvh.me 重定向到 localhost 或 127.0.0.1,我可以从另一台设备访问我计算机的 localhost在网络上使用blog.124.4.1.3.xip.io

希望对大家有所帮助!


旁注:有问题的应用程序在 Rails 服务器上运行,上述设置需要将以下设置添加到 environments/development.rb 文件中:

config.action_dispatch.tld_length = 5

因为 rails 在 3000 端口上运行,所以这也需要一个类似的 url:

blog.124.4.1.3.xip.io:3000

【讨论】:

  • 刚刚遇到了一个问题,我无法再在我的主机文件中使用指向我的本地主机设置的路由。本质上,我不能再通过我的服务器运行的浏览器访问 blog.lvh.me,因为它将我重定向到 lvh.me。是否可以在不注释掉config.action_dispatch.tld_length = 5 的情况下解决此问题?
  • 恐怕我不确定。根据您的用例,还有其他选项。如果您有 Mac 和 iphone,则可以通过 USB 连接它们,这将为您提供一些功能。当上述方法不可行时,我发现 Xcode iOS 模拟器是一个很好的备份。
  • 有效!谢谢你。附:有关“在 Mac OS X 中获取 LAN IP 地址”的帮助,请参阅:osxdaily.com/2010/08/08/lan-ip-address-mac
  • @DuncanWalker 它似乎对我不起作用。我在 localhost 上有一个带有子域的 Rails 应用程序。在本地主机上,我可以转到app.mysite.local:3000,但如果我输入app.192.168.0.123.xip.io:3000,它就没有找到正确的位置。我得到了我的应用程序的root_path,而不是我的子域的根目录。
  • 记住使用rails s -b 0.0.0.0启动你的rails服务器,以便绑定所有接口
猜你喜欢
  • 1970-01-01
  • 2021-03-31
  • 1970-01-01
  • 2015-04-15
  • 2021-12-23
  • 1970-01-01
  • 2012-07-07
  • 1970-01-01
  • 2013-12-31
相关资源
最近更新 更多