2015-10-08 22 views
1

我剛剛將我的Rails應用程序從4.1.3升級到4.2.4。我以前編輯過我的開發服務器的主機文件,以便my.domain指向本地主機,並一直使用它來處理我的應用程序。但是,現在我已升級到rails 4.2.4,my.domain:3000未連接;只有localhost:3000沒有。Rails升級打破了dev服務器上的自定義域名

我不記得我是否最初配置了其他任何會受到升級影響的東西,但我認爲我沒有這樣做。 development.log沒有什麼可以提供任何提示(因爲瀏覽器說它甚至沒有連接)。

如果它很重要,我在我的開發服務器上使用gem 'foreman', '~> 0.78.0'

我知道我沒有給很多工作,但是沒有人有任何想法,可能會發生什麼?

回答

3

這可能與Rails 4.2 no longer binding to the public interface有關。我不確定你的開發者服務器是否是本地的。如果是這樣,您可能需要將主機條目調整爲127.0.0.1而不是0.0.0.0。如果沒有,您可能需要允許Rails使用公共接口。有一個bug report for this issue,其中包含一些可能的解決方法。

+0

我認爲這將是問題,但不知道正確的術語解釋。做得很好。 – sevenseacat

+0

謝謝@sevenseacat! –

0

由於Rack變化,rails server現在默認監聽本地主機而不是0.0.0.0。請參閱4.2 release notes與啓動服務器:

rails server -b 0.0.0.0 

恢復舊的行爲

+0

釘牢它;多謝,夥計。 – neanderslob

+1

@neanderslob,爲了它的價值,你應該試着讓它在127.0.0.1上運行。它改變的原因是因爲它更安全。而且,從其他不必要的爭論開始並不是一個好的長期計劃。 –

+0

@BradWerth在重新檢查我的主機文件時,發現我使用的是127.0.1.1(當我最初查看時錯過了額外的1)。我將其改爲127.0.0.1,正如你所說,沒有問題。非常感謝您的解釋。 – neanderslob