我在MacOS 10.10.2上運行Vagrant並以Ubuntu 14.04服務器作爲guest。在Ubuntu系統上,我安裝了rails 4.2.0(ruby 2.1.5)。從MacOS到Ubuntu的流浪端口轉發不起作用
問題是我無法從主機訪問rails web服務器。 流浪者箱子設置了端口轉發,如下所示:
config.vm.network "forwarded_port", guest: 3000, host: 8080
但是,沒有HTTP請求似乎達到它。當通過端口轉發進行卷曲時,我得到以下結果,並且Web服務器的日誌不報告任何請求:
$ curl localhost:8080
curl: (52) Empty reply from server
本地捲曲在ubuntu盒本身產生網頁。
在我看來,Mac或者Ubuntu服務器上的防火牆都阻止了這個呼叫。運行nmap時,它只能找到端口22和111:
$ nmap -P0 192.168.33.10
Starting Nmap 6.47 (http://nmap.org) at 2015-02-24 12:55 CET
Nmap scan report for 192.168.33.10
Host is up (0.0019s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
但是,在Mac和ubuntu服務器上都沒有運行防火牆;在後者,iptables甚至沒有安裝。
我已經看過關於這個主題的其他幾個問題,包括以下內容,但沒有一個與我的情況相關。 Vagrant Port Forwarding not working Vagrant's port forwarding not working Vagrant port forwarding not working on Mavericks
我還能嘗試一下呢?
'#netstat的-tulpn'是命令。取自[這裏](http://www.cyberciti.biz/faq/what-process-has-open-linux-port/)。您VM *中的服務器*正在偵聽「0.0.0.0」或虛擬機的IP地址,而不是「127.0.0.1」。 – zloster 2016-02-15 17:50:06