为什么我可以在端口80上看到我的Apache服务器,而不是在端口3000上看到我的Webrick服务器?

时间:2016-01-23 01:31:23

标签: ruby-on-rails webserver webrick

我在端口80上运行Apache,在端口3000上运行Rails(Webrick)。

使用http://localhosthttp://localhost:3000,我可以看到两台服务器。但是,使用我的本地IP,我仍然可以看到Apache服务器,但不能看到Rails服务器。

再次运行cURL,Apache返回200,但Rails返回curl: (7) Failed to connect to <ip> port 3000: Connection refused

更新
我使用-b IP绑定选项和我的IP重新启动了服务器,但是无法再从localhost:3000命中它。有没有办法绑定到两者?

1 个答案:

答案 0 :(得分:1)

传递0.0.0.0作为你的论点。这将绑定到所有接口。

如果你想把这个永久化,你可以通过将以下内容添加到config/boot.rb来修补一些Rails:

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

请记住,如果您在共享网络上,这将使其公开。