什么影响" rails server" on:3000是否可以远程访问?

时间:2015-03-09 03:29:49

标签: ruby-on-rails ruby

以下是两个GitHub存储库:

每个* *都包含默认的样板程序,当您在终端中输入“rails new APP_NAME”时会生成该程序。

我将它们部署到远程服务器(特别是AWS中的EC2实例)。

  • 对于第一个,可以远程访问端口3000上的“rails服务器”。

  • 对于第二个,端口3000上的“rails server”无法远程访问。

是否有人能够阐明为何会出现这种情况?

提供一些背景知识:

第一个是在2014年5月生成的,第二个是在2015年3月生成的。

*第一个我可能会略微修补,但我不记得我改变了什么(这是我的问题的驱动因素)。第二个是未经修改的。

1 个答案:

答案 0 :(得分:4)

您可能会注意到您的早期项目(rails 4.1.1)在启动时打印了类似的内容:

=> Rails 4.1.1 application starting in development on http://0.0.0.0:3000

然而,后一个项目(rails 4.2.0)打印出如下内容:

=> Rails 4.2.0 application starting in development on http://localhost:3000

这里的区别在于第一个项目正在监听0.0.0.0(任何IP),第二个项目正在监听localhost127.0.0.1),只能从{{1}访问}}

您可以使用localhost选项将rails服务器绑定到任何IP:

-b

有关更改的详情,请参阅http://guides.rubyonrails.org/4_2_release_notes.html#default-host-for-rails-server;有关如何更改默认值,请参见How to change the default binding ip of Rails 4.2 development server?