Rails 4.2服务器;私人和公共IP无法正常工作

时间:2014-12-28 10:11:39

标签: ruby-on-rails-4 rack actiondispatch

我最近将rails 4.1.8更新为4.2

我无法使用私有IP 192.168.1.x:3000以及我的public-ip address访问rails应用。

Rails应用正在使用lvh.me:30000.0.0.0:3000localhost:3000127.0.0.1:3000。但它看起来 所有地址都指向我的服务器日志rails-issue中的127.0.0.1:3000

在4.1

中工作正常

我尝试在environments/development.rb中添加以下内容,但没有任何改变。

TRUSTED_PROXIES = %r{
  ^127\.0\.0\.1$                | # localhost
  ^(10                          | # private IP 10.x.x.x
    172\.(1[6-9]|2[0-9]|3[0-1]) | # private IP in the range 172.16.0.0 .. 172.31.255.255
    192\.168                      # private IP 192.168.x.x
   )\.
}x

config.action_dispatch.trusted_proxies = /^127\.0\.0\.1$/ # localhost

我试图将我的本地服务器指向公共IP地址。我已将端口转发配置为在公共地址中访问。

2 个答案:

答案 0 :(得分:17)

Rails服务器的默认主机在4.2中已更改。它现在在localhost上运行,这意味着它只接受来自主机IP的连接。您需要运行rails server -b 0.0.0.0才能启动服务器。

请参阅the 4.2 release notes, section 3.3 for more details.

答案 1 :(得分:2)

要以公开-b身份运行,并在特定端口中使用-p

rails server -b 0.0.0.0 -p 8520