允许公共连接到本地的Ruby on Rails开发服务器
我正在Windows机器上build立一个RoR开发环境。 我想知道如何设置它,以便我的几个朋友可以访问Web服务器并监视进度?
只有2或3人连接在任何时候最多。
给当地的隧道一个去。 这是一个ruby,所以你不应该有任何问题得到它:
gem install localtunnel localtunnel 3000
你第一次这样做,会问你一个SSH密钥,但一旦你设置它会显示你可以分享的公共url。 在指定的端口上运行的任何东西都将暴露在该URL。
Showoff-io看起来像一个类似的服务,但我没有使用它,所以我不能评论。 此外,它是支付,并要求注册。
最简单的方法是不需要额外的安装 :当你启动服务器时,只需要在你的rails server
(或rails s
)命令中添加一个选项:
rails s --binding=0.0.0.0
0.0.0.0
地址意味着“从任何地方收听请求”。 在许多系统上,缺省值是127.0.0.1
,这意味着“仅侦听来自本地主机的请求”。
(如果您不指定-p
或--port
选项,那么端口将像往常一样是3000
。
您可以告诉您的开发服务器在您的公共访问接口上收听:
如果您通过rails server
运行rails server
,则可以通过-b <ip>
或--binding=<ip>
指定要监听的IP。 默认情况下,服务器在0.0.0.0上侦听,也就是仅用于本地连接。
Usage: rails server [mongrel, thin, etc] [options] -p, --port=port Runs Rails on the specified port. Default: 3000 -b, --binding=ip Binds Rails to the specified ip. Default: 0.0.0.0
你可以找出你的机器的networking地址是什么,然后绑定到那个地址,但是你必须转发端口并找出你的公有路由IP地址在互联网上。 这超出了堆栈溢出的范围。
正如有人build议,使用ngrok 。
这很愚蠢。