Ruby on rails 无法访问防火墙后面运行的rails服务器
我试图在朋友家中运行ror应用程序,但无法从外部访问该应用程序。这是我们已经尝试过的 应用程序已使用创建Ruby on rails 无法访问防火墙后面运行的rails服务器,ruby-on-rails,ruby,firewall,Ruby On Rails,Ruby,Firewall,我试图在朋友家中运行ror应用程序,但无法从外部访问该应用程序。这是我们已经尝试过的 应用程序已使用创建 $ rails new <application name> 开发服务器在上启动并可访问 接下来,我们在他用来连接互联网的路由器上激活了端口转发:我们将外部端口3000映射到运行rails服务器的内部主机上的端口3000。当我尝试从外部(使用firefox)打开页面时,我得到一个错误页面:无法连接到主机,主机可能已关闭,请稍后尝试连接 我们尝试过的事情: 更改端口转发80->8
$ rails new <application name>
开发服务器在上启动并可访问
接下来,我们在他用来连接互联网的路由器上激活了端口转发:我们将外部端口3000映射到运行rails服务器的内部主机上的端口3000。当我尝试从外部(使用firefox)打开页面时,我得到一个错误页面:无法连接到主机,主机可能已关闭,请稍后尝试连接
我们尝试过的事情:
- rails服务器可在本地主机的端口3000上访问
- 端口转发适用于端口22和80,ssh服务器和apache服务器都可以访问
- 无法从外部在端口80和3000上访问rails服务器
所以我们没有想法了。接下来我们应该检查什么?在Rails 4.2之前,Rails服务器的默认设置是绑定到所有接口。在Rails 4.2中,默认情况下,这更改为仅绑定到127.0.0.1-应用程序日志中没有任何内容,因为套接字根本没有侦听其他网络接口上的连接 要允许从另一台机器进行连接,您需要使用-b选项绑定到额外的ip地址,例如
rails s -b 0.0.0.0
绑定到所有可用的ip地址。当然,您可以将0.0.0.0替换为您机器的一个实际ip地址,尽管当您机器的ip地址更改时,您当然必须更改该调用。我们确实在使用rails 4.2,根据您的指示,我们解决了问题+1.
rails s -b 0.0.0.0