2016-01-11 32 views
0

在堆棧溢出之前,這個問題已經被問了幾次,我嘗試了各種建議,但仍然無法正常工作。如何從不同的計算機連接到webrick

我在OSX 10.11,家庭無線網絡,使用Chrome。如果我啓動的WEBrick下列要求:

rails server -b 0.0.0.0 

服務器啓動,我可以通過http://0.0.0.0:3000/訪問我的應用程序在同一臺計算機上,但是從不同的計算機(也向上最新相同的WiFi網絡上OSX)我收到一個ERR_CONNECTION_REFUSED。

whatismyip.com說我的IP是76.14.66.137。當我嘗試以下任一

rails s -b 76.14.66.137 
rails s -b 76.14.66.137 -p 80 
rails s -b 76.14.66.137 -p 3000 
rails s -b 76.14.66.137 -p 3002 

我得到同樣的錯誤每次:不能分配請求的地址 - 綁定(2)76.14.66.137:80(錯誤:: EADDRNOTAVAIL)

是有可能需要更改的OSX設置?我究竟做錯了什麼?

回答

2

0.0.0.0表示收聽所有網絡接口。

https://www.whatismyip.com/爲您提供路由器的外部IP。這不是您用來通過單獨的本地計算機連接到本地服務器的IP。您需要獲得機器的真實內部IP地址。 (在OSX上,這很容易,只需打開網絡首選項,您的內部IP列在頂部的「狀態:已連接」下)您也可以通過登錄您的路由器管理員來查找IP。)假設您的機器運行rails服務器內部IP爲191.166.0.100。

因此,您將在計算機A上使用0.0.0.0 ip地址啓動本地服務器。然後在計算機B上,您將連接到http://191.166.0.100:3000 ..計算機A的內部IP。然後你會從你的Rails應用程序得到迴應。如果沒有,那麼你需要檢查服務器防火牆設置和路由器設置。

+0

我用rails server -b 0.0.0.0來啓動服務器,然後試圖在另一臺計算機上連接我的ip:http://76.14.66.137:3000。仍然不起作用。我不知道什麼防火牆設置和/或路由器設置會導致問題。有什麼特別的我應該尋找,或可以谷歌? –

+0

如果您嘗試從互聯網連接到webrick,則需要在路由器中啓用端口轉發。你可以找到如何在谷歌搜索查詢如'(路由器型號)端口轉發'或'(路由器型號)訪問互聯網' – axvm

+0

感謝您的幫助,您最後的評論讓我想出我使用我的公共路由器IP,而不是我的電腦自己的內部IP來啓動webrick。我知道,這很愚蠢,只是表明當你對這個服務器/網絡的東西一無所知時,被這些東西絆倒是多麼容易。 –

相關問題