远程查看由pow.cx提供的网页

13

使用WEBrick,您可以通过导航到your.ip.address.here:port来从另一台设备/虚拟机访问您正在提供的应用程序

是否可以使用pow.cx执行类似的操作?

3个回答

43
最新版本的Pow(0.4.0)现在包括xip.io支持。您可以在他们的帖子中阅读发布内容。
以下是他们的文章中快速解释如何使用此功能来帮助 Pow 在整个本地网络中为您的 Rails 应用提供服务:
假设您的开发计算机的 LAN IP 地址为 10.0.0.1。使用 Pow 的新版本,您现在可以在http://myapp.10.0.0.1.xip.io/访问您的应用程序。而且 xip.io 支持通配符 DNS,因此 10.0.0.1.xip.io 的所有子域名也都可以被解析。
以下是从其网站上获取的 xip.io 描述:
xip.io 在公共互联网上运行自定义 DNS 服务器。当您的计算机查找 xip.io 域时,xip.io DNS 服务器会从域中提取 IP 地址并在响应中发送回来。

12

基本上有两个选项:

  • 不使用pow:像往常一样在本地主机上运行您的应用程序并像往常一样访问它们
  • 编辑hosts文件(或本地DNS)以将服务器机器IP指向您的计算机

例如从虚拟 Windows 机器中访问: 假设您在pow中运行两个rails应用程序:store.devauth.dev,您想要从windows xp虚拟机中访问它们以使用IE进行测试,则只需编辑您的hosts文件并添加以下行:

C:\WINDOWS\system32\drivers\etc\hosts

# Allow to access applications in pow. 
# The ip address points to the host machine localhost, that usually is the default gateway
10.0.2.2      store.dev
10.0.2.2      auth.dev

然后打开IE浏览器,在分别访问http://store.devhttp://auth.dev上的应用程序。


嗯,即使重启后也没有起作用。我使用的是Windows 7,可能是问题所在。 - Jason Swett
在IE VirtualBox中,我将10.0.2.2 powapp.dev添加到hosts文件中,然后它就可以工作了。此外,pow希望您的项目有一个public/目录。这也让我困扰了一段时间。我的特定项目没有这个目录,所以我只是创建了一个文件夹,并将我的项目作为public/符号链接到其中,然后将该文件夹符号链接到pow。 - Stoutie

-1
具体来说,不行,因为 Pow 使用请求的 Host 标头来确定您需要访问哪个应用程序。要在远程工作,您必须让远程计算机将所需的域名映射到您的 IP 地址 - 可以使用本地 DNS 服务器或通过编辑 HOSTS 文件来实现。这两种方法都是可行的,但很麻烦。
在这种情况下最简单的方法是像您提到的那样启动一个独立的 Rails 服务器(使用 ./script/serverrails s,具体取决于版本),然后您可以像以前一样访问 http://[ip address]:3000
换句话说,Pow 能够工作是因为它拦截了您的本地域名解析,这是远程计算机所无法影响或使用的。

8
这可能是最佳回答(发布于2011年初),但现在(2012年中期)看起来http://xip.io/是最简单的选择。 - Jason Swett

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接