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

使用WEBrick,您可以导航到另一台设备/虚拟机上的应用程序,导航到your.ip.address.here:port

是否有可能与pow.cx做类似的事情?

具体而言,不,因为Pow使用请求的Host标头来确定您需要访问哪个应用程序。 要使远程工作,您必须让远程计算机将所需的域名映射到您的IP地址 – 使用本地DNS服务器或编辑HOSTS文件。 这两种都是可能的,但很烦人。

在这种情况下最简单的方法是启动一个独立的Rails服务器,如你所提到的(使用./script/serverrails s具体取决于版本),然后你可以解决http://[ip address]:3000像之前一样。

换句话说,Pow工作是因为它拦截了您的本地域解析,这些解析不受远程计算机的影响(或可用于远程计算机)。

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在公共Internet上运行自定义DNS服务器。 当您的计算机查找xip.io域时,xip.io DNS服务器从域中提取IP地址并将其发送回响应中。

基本上有两种选择:

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

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

C:\ WINDOWS \ SYSTEM32 \ DRIVERS \ ETC \主机

 # 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中的应用程序。