允许公共连接到本地Ruby on Rails Development Server

时间:2012-02-14 19:07:02

标签: ruby-on-rails ruby

我正在Windows机器上设置RoR开发环境。我想知道如何设置它,以便我的一些朋友可以访问Web服务器并监视进度?

在任何时间最多只能连接2或3人

5 个答案:

答案 0 :(得分:183)

最简单的方法需要无其他安装:只需在启动服务器时为rails server(或rails s)命令添加一个选项:

rails s --binding=0.0.0.0

0.0.0.0地址的意思是“从任何地方收听请求”。在许多系统上,默认值为127.0.0.1,这意味着“仅侦听来自localhost的请求。”

(如果您还没有指定-p--port选项,那么该端口应像往常一样3000。)

答案 1 :(得分:24)

您可以告诉开发服务器监听您可公开访问的界面:

如果您是通过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

您可以找出机器的网络地址,然后绑定到该地址,但您必须转发端口并找出互联网上可公开路由的IP地址;这超出了Stack Overflow的范围。

答案 2 :(得分:20)

localtunnel一个去。它是一颗红宝石,所以你不应该有任何问题:

gem install localtunnel
localtunnel 3000

你第一次这样做会问你一个ssh密钥,但是一旦你有了这个设置,它就会显示你可以分享的公共网址。在指定端口上运行的任何内容都将在该URL上公开。

Showoff-io看起来像一个类似的服务,但我还没有使用它,所以我无法发表评论。此外,它是付费的,需要注册。

答案 3 :(得分:6)

如有人建议,请使用ngrok

这很容易。

答案 4 :(得分:0)

通过将Rails服务器绑定到0.0.0.0来允许远程连接。

这是不喜欢打字的人的简短表示法:

bin/rails s -b 0.0.0.0

如果您还希望允许IPv6连接(Puma):

bin/rails s -b [::]