2014-12-28 70 views
11

我最近更新我的導軌4.1.8至4.2Rails 4.2服務器;私人和公共IP不工作

我不能使用私有IP 192.168.1.x:3000,也與我的public-ip address訪問的Rails應用程序。

Rails應用程序正在與lvh.me:3000,0.0.0.0:3000,localhost:3000127.0.0.1:3000一起工作。但它看起來 所有的地址都指向127.0.0.1:3000在我的服務器日誌rails-issue

它在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地址。我已經配置端口轉發到公共地址訪問。

回答

16

Rails服務器的默認主機已在4.2中更改。它現在在localhost上運行,這意味着它只會接受來自主機IP的連接。你需要運行rails server -b 0.0.0.0來啓動你的服務器。

請參閱the 4.2 release notes, section 3.3 for more details.

+0

感謝@richard。它正在工作!!我應該正確閱讀。 –

+0

有無論如何你可以用4.2.0來製作這個標準。它很煩人,每次都要輸入。 –

2

如要以公共-b並在特定端口使用-p

rails server -b 0.0.0.0 -p 8520