我在端口80上运行Apache,在端口3000上运行Rails(Webrick)。
使用http://localhost
和http://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命中它。有没有办法绑定到两者?
答案 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
请记住,如果您在共享网络上,这将使其公开。