2014-03-31 44 views
4

我正在運行具有指定IP地址和主機名的專用網絡流浪者環境。我目前可以訪問80端口的HTTP版本,但我也希望能夠訪問它在8080端口上如何使用不同端口上的Vagrant專用網絡訪問虛擬機?

我加了這樣的事情:

config.vm.network :forwarded_port, guest: 80, host: 8080, auto_correct: true 

但是,當我訪問我的站點在端口8080,我得到一個不可用的頁面錯誤。 80端口仍然有效。如果轉發的端口不適用於專用網絡,如何在不同的端口上正確訪問我的虛擬機?

回答

1

記住流浪端口轉發僅適用適用於默認NAT網絡(使用VirtualBox NAT),而不是私有或公共。

所以如果你想通過端口8080上的私有IP訪問服務,你可以在端口8080上監聽它,或者使用iptables來轉發數據包。

例如

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

+0

的說明,因爲我的生產環境在端口80上,所以我想癟三對模仿儘可能多地。我沒有在Linux上運行,所以iptables不是一個選項。 – user1794386

1

好吧,我有一個Rails應用程序的工作,這是我Vagrantfile,我進入我的網絡服務非常好。

Vagrant.configure("2") do |config| 

    config.vm.hostname = "web" 

    config.vm.network :private_network, ip: "192.168.33.10" 

    config.vm.network :forwarded_port, host: 3000, guest: 3000 
end 

我做了以下我不想監聽端口8080的Vagrant site.

+0

這個*顯示*起作用,因爲您正在映射相同的端口。您實際上只是直接進入專用網絡IP上的3000端口。如果您嘗試映射不同的端口,您會發現主機端口不起作用。 –