13

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

是否可以用 pow.cx 做类似的事情?

4

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

于 2012-06-13T02:08:24.430 回答
12

基本上有两种选择:

  • 不要使用 pow:像往常一样在 localhost 上运行您的应用程序并像往常一样访问它们
  • 编辑主机文件(或本地 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中的应用程序。

于 2011-06-17T17:13:29.280 回答
-1

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

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

换句话说,Pow 之所以有效,是因为它拦截了您的本地域解析,而这些解析不受远程机器的影响(或可供远程机器使用)。

于 2011-06-16T23:04:41.497 回答