2015-03-18 71 views
24

自升級到OSX Yosemite以來,第一次需要從同一網絡上的另一臺計算機上查看我的計算機上運行的應用程序。以前,這很簡單,只需找到我的內部IP地址,然後在端口3000上使用,例如。 http://192.168.0.111:3000Rails應用程序對本地網絡不可見

但是,我現在發現,與優勝美地這不起作用。該應用程序正在運行,可通過localhost:3000獲得,但不通過我的內部IP。

我已經運行網絡實用程序端口掃描程序,它顯示localhost公開端口3000,但我的IP沒有。網絡上尚未升級的其他機器(10.7.5和10.9.5)沒有此問題。

任何幫助將不勝感激。

編輯:根據系統首選項的安全和隱私窗格,優勝美地防火牆目前關閉 - 這不會導致問題。

回答

47

默認情況下,rails server將只接受來自本地主機的連接。您可以通過查看控制檯輸出檢查:

Listening on localhost:3000, CTRL+C to stop 

要偵聽所有地址,這將允許你從其他機器連接的本地網絡上,你必須明確地綁定到一個更寬鬆的地址。試試這個:

rails server --binding=0.0.0.0 

您現在應該看到:

Listening on 0.0.0.0:3000, CTRL+C to stop 

現在,你可以從其他地方連接到您的Rails應用程序在本地網絡上,通過瀏覽例如http://192.168.0.111:3000

+1

這個變化是否與4.2一樣?我還有其他幾個Rails 4.x項目,它們仍然綁定到0.0.0.0 ...謝謝你,我甚至不會考慮看rails本身。 – BrightBlue 2015-03-18 22:09:00

+0

是的,我很確定這是在4.2.0中引入的。 – 2015-03-18 22:19:19

+0

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