Ruby on rails Rails Webrick服务器默认IP和端口

Ruby on rails Rails Webrick服务器默认IP和端口,ruby-on-rails,amazon-ec2,default,webrick,Ruby On Rails,Amazon Ec2,Default,Webrick,轨道-V4.1.1 Ruby-v2.2.1 我在一个AWS EC2实例上有两个rails应用程序。一个应用程序,我可以在Webrick上启动: rails server 然后,我可以通过以下URL远程访问该应用程序: http://[public_ip]:3000 第二个应用程序,我必须提供-b和-p选项。如果没有访问http://[public\u ip:3000上的应用程序的选项,我会: This webpage is not available connection attempt

轨道-V4.1.1 Ruby-v2.2.1

我在一个AWS EC2实例上有两个rails应用程序。一个应用程序,我可以在Webrick上启动:

rails server
然后,我可以通过以下URL远程访问该应用程序:

 http://[public_ip]:3000
第二个应用程序,我必须提供-b和-p选项。如果没有访问http://[public\u ip:3000上的应用程序的选项,我会:

This webpage is not available
connection attempt to [public_ip] was rejected. The website may be down, or your network may not be properly configured.
第二个应用程序的唯一服务器启动通知是:

rails s -b 0.0.0.0 -p 3000
然后,我可以通过http://[public\u ip]:3000访问第二个应用程序。第二个应用是我在服务器上创建的全新应用。第一个应用是我从现有应用签出的代码。
如何使第二个应用程序的行为与第一个应用程序相同?

在Rails 4.2之前,Rails s命令的默认绑定主机是
0.0.0
。从Rails 4.2开始,它是
localhost
。因此,难怪你的新应用程序出现了这个问题

如果您希望新应用程序自动在
0.0.0.0
上启动,请将其包含在
config/boot.rb
中:

require 'rails/commands/server'
module Rails
  class Server
    def default_options
      super.merge(Host:  '0.0.0.0', Port: 3000)
    end
  end
end

基于。

我编辑了我的帖子以显示版本。考虑到我使用的是4.2之前的版本,没有选项的服务器启动应该可以工作。此外,第一个/现有应用程序的boot.rb没有您提供的代码段,但我可以在默认IP和端口上访问它,而无需启动选项。根据v4.1.1中的这一点,默认主机是
0.0.0.0
。你确定Rails是4.1.1吗?