2014-03-31 43 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端口。如果您尝试映射不同的端口,您会发现主机端口不起作用。 –