使用iPhone上的子域访问本地站点

使用iPhone上的子域访问本地站点,iphone,mobile,ip,localhost,Iphone,Mobile,Ip,Localhost,我知道您可以通过在地址栏中输入计算机的IP地址(带有相关的本地端口),从运行在同一网络上的移动设备访问计算机的本地站点。然而,我经常使用子域进行开发。在本地,我使用lvh.me访问子域。例如: blog.lvh.me 但是,这对移动设备不起作用,因为lvh.me正在重定向到IP 127.0.0.1 有没有办法访问IP地址上的子域?基本上,与上面的代码做相同的事情,但根据我的计算机当时拥有的IP允许使用动态IP地址?因此,在继续研究之后,我发现了一个非常棒的工具,可以完全实现上述功能: 例如,

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

blog.lvh.me
但是,这对移动设备不起作用,因为lvh.me正在重定向到IP 127.0.0.1


有没有办法访问IP地址上的子域?基本上,与上面的代码做相同的事情,但根据我的计算机当时拥有的IP允许使用动态IP地址?

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

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

我希望这能帮助别人


旁注:该应用程序在rails服务器上运行,上述设置要求将以下设置添加到
environments/development.rb
文件中:

config.action\u dispatch.tld\u length=5

由于rails在端口3000上运行,因此还需要一个url,如:


blog.124.4.1.3.xip.io:3000

否。除非您在自己的IP上设置该子域,否则不会。如果您在一个IP上托管多个站点(所谓的“基于命名的虚拟主机”),则浏览器无法发送HTTP
Host:
标头来标识您正在访问的站点。在进行多站点/单个IP托管时,IP不足以识别站点。如果这都是本地的,您可以始终设置一个仅本地的DNS服务器,将您的手机指向它,然后您可以使用任何您想要的主机名。刚刚遇到一个问题,我无法再使用指向主机文件中本地主机设置的路由。基本上,我无法再通过服务器运行的浏览器访问blog.lvh.me,因为它会将我重定向到lvh.me。是否可以在不注释掉config.action\u dispatch.tld\u length=5的情况下解决此问题?恐怕我不确定。根据您的用例,还有其他选项。如果你有mac和iphone,你可以通过USB将它们连接起来,这会给你一些功能。我发现Xcode iOS模拟器是一个很好的备份,但上面的选项并不可行。它可以工作!非常感谢。另外,关于“在Mac OS X中获取您的LAN IP地址”的帮助,请参阅:@DuncanWalker它似乎对我不起作用。我在localhost上有一个Rails应用程序,它有一个子域。在localhost上,我可以转到
app.mysite.local:3000
,但如果我输入
app.192.168.0.123.xip.io:3000
,它就不会到达正确的位置。我得到了我的应用程序的
根路径
,而不是我的子域的根路径。记住用
rails s-b 0.0.0
启动rails服务器以绑定所有接口