2015-12-01 116 views
1

Vagrantfile包含:流浪:無法通過本地主機訪問Rails的服務器:8080

config.vm.box = "ubuntu/trusty64" 
config.vm.network "forwarded_port", guest: 3000, host: 8080 

vagrant up報道:

Bringing machine 'default' up with 'virtualbox' provider... 
==> default: Forwarding ports... 
    default: 3000 => 8080 (adapter 1) 
... 

使用非特權用戶(deploy') I run軌道server`該報告的是你」 ð期待:

Booting WEBrick => Rails 4.2.5 application starting in development on http://localhost:3000 
[2015-12-01 13:34:41] INFO WEBrick::HTTPServer#start: pid=1638 port=3000 

裏面的流浪者VM的個報道:

tcp  0  0 127.0.0.1:3000   0.0.0.0:*    LISTEN  1638/ruby 

所以我知道Rails的服務器肯定是3000端口

聽當我瀏覽到http://localhost:8080我的主機上(OS X)我得到一個ERR_EMPTY_RESPONSE

我試過停止/啓動虛擬機,重新加載,等我缺少明顯的東西?

預先感謝您

+0

你可以檢查是否沒有任何東西從你的主機在8080端口上運行嗎?最有可能的一個過程已經綁定了港口,所以它不能被流浪者使用。我不知道在這種情況下,流浪者上報是否報告錯誤 –

+0

@FrédéricHenri我已將端口(8080)更改爲其他一些值,並且行爲相同。主機上沒有使用我嘗試過的端口。 – RobertJoseph

+0

@RobertJoseph在訪客虛擬機中運行'curl -I http:// localhost:3000 /'時的輸出是什麼? – tarleb

回答

1

/etc/hosts,聯想0.0.0.0與本地主機開始的軌道。當服務在0.0.0.0上偵聽時,這意味着服務監聽所有配置的網絡接口,在127.0.0.1上偵聽時,服務只綁定到回送接口(僅在本地計算機上可用)。

在客人機器上的/etc/hosts上,用0.0.0.0 localhost替換127.0.0.1 localhost

然後重新啓動rails服務器。

相關問題