如何在iPad Air上使用ipad访问Web服务器


8

我的网络服务器软件是nginx,在使用mac os x 10.7.5的macbook air上可以很好地运行

当我在Macbook上访问http://myapp.localhost时,可以完全访问在localhost上运行的网站。

我如何通过iPad访问该网站?我问是因为我想测试我的网站是否允许平板电脑在台式机浏览器上也能正常访问。

我有两种可能的设置。

1)Macbook air运行HUAWEI-MOBILEModem,并使用INTERNET SHARING允许iPad访问。

2)当macbook air和iPad都访问相同的WIFI连接时。

请为这两种情况提供解决方案。

更新:我在Macbook Air Nginx Web服务器上运行了多个应用程序。

为了方便起见,我们称它们为

等等

我的iPad如何访问Macbook air上托管的正确Web应用程序?

更新

在我的Macbook Air上,我访问了不同的Web应用程序,因为我编辑了/ etc / hosts文件。


1
您是否愿意接受允许您使用不同的端口/多个nginx来隔离Web应用程序的解决方案,还是您确实需要一个实例并且仅需通过URL隔离事物?我非常幸运,可以使NIC具有多个IP地址,并使用xip.io解析为通常无法路由的本地地址。
bmike

我不介意听到这个想法,@ bmike
Kim Stacks

Answers:


3

这两种情况下,使用Mac 的IP或machinename.local地址只会为您提供该Mac上的默认网站。您的Web应用程序都是顶级应用程序,因此Nginx在请求中期望使用不同的主机名。问题是,这些主机名以.localhost结尾,DNS无法解析这些主机名,因此iPad不知道myapp2.localhost在哪里,并且请求从未到达Mac上的Nginx。

从Mac进行测试时,您已经以某种方式解决了这个问题。也许您已经编辑了/ etc / hosts文件,或者您具有执行此操作的GUI?但是,如果不越狱就无法修改iPad主机文件。

一个简单的解决方法是将Nginx中的默认网站更改为要从iPad测试的Web应用程序-然后可以使用iPad 的machinename.local地址。但是,每次要测试其他Web应用程序时,都必须更改此设置。

更复杂的解决方法是:a)在Mac上将Apache配置为代理服务器,并配置iPad浏览器以将其用作代理服务器;b)在您的本地网络上设置DNS服务器;c)在修改/ etc / hosts文件的同时,在Mac上使用iPad模拟器;或d)越狱iPad并修改/ etc / hosts。


1
使用iPad上使用代理服务器:stackoverflow.com/questions/6917107/...
wrk2bike

我不想越狱或使用模拟器。我确实需要轻松测试多个应用程序。因此,我根据您的评论建议保留了此选项。stackoverflow.com/a/11757977/80353
Kim Stacks 2012年

但是,我有一个问题。我将ipad设置为使用我的Macbook
Kim Stacks

哦,对不起,我才意识到我需要打开我的查尔斯,然后将端口设置为8888
Kim Stacks

我只想补充一点,我的个人解决方案是安装charles,然后在macbook air上使用charles。在iPad中,我将打开手动http代理。
Kim Stacks 2012年

3

localhost 是特定于设备的,因此在iPad上访问它会带您进入iPad本身上的某个页面(该页面可能不存在)。

要通过iPad从Mac访问的网页,请使用Mac的本地IP地址而不是localhost。要获取Mac的本地IP,请打开“系统偏好设置”的“网络”面板。在左侧选择您的活动网络,并且IP将在“ 已连接”标题下显示在右侧。它可能看起来像10.0.1.1127.0.1.1


有没有办法为Macbook Air分配特定的计算机名称,然后iPad可以通过计算机名称进行查找?
Kim Stacks 2012年

我已经编辑了我原来的问题。我忘了提及我在Macbook air的Web服务器中托管了多个Web应用程序。这将如何改变您的答案?
Kim Stacks 2012年

@kimsia是的,您可以将IP替换为computerName.local。看到这个答案。多个应用程序不会改变答案,只需执行您通常要做的事情并替换localhost为IP。因此,如果通常访问http://localhost:8888/someApp/index.html,请转到本地IP http://IPAddress:8888/someApp/index.html所在的位置IPAddress
内森·格林斯坦

我通常去myapp1.localhost访问application1和myapp2.localhost访问application2。那么如何从iPad进行访问呢?
Kim Stacks 2012年

而且我不确定您的建议是针对方案1还是2。
Kim Stacks 2012年

2

您可以尝试输入Mac的主机名,后跟.local。

因此,如果您的计算机名称是epsilon。

    http://epsilon.local

如Nathan所说,该IP地址将起作用。用您的实际IP替换我的示例IP。

    http://192.168.1.1

您将在这些地址的末尾添加您的特定应用程序信息。因此,http:// localhost之后的内容将附加到这些URL的末尾。


没有为我工作。我不确定为什么。还有其他我可以尝试的东西吗?
Kim Stacks 2012年

而且我不确定您的建议是针对方案1还是2。
Kim Stacks 2012年

这是可行的,请确保使用http然后使用ip地址
GusDeCooL 2013年

-1

我认为最简单的方法是获取主机IP地址。例如,在命令行上运行以下命令:

curl icanhazip.com

您将获得您的外部IP地址{在下面称为$ IP_ADDRESS}。

然后在iPad上,将浏览器指向该IP地址:

http://$IP_ADDRESS/

如何在ipad中卷曲?Hehehe
GusDeCooL 2013年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.