如何在不同端口上使用Vagrant专用网络访问VM?

时间:2014-03-31 20:31:10

标签: virtual-machine vagrant

我正在运行具有指定IP地址和主机名的专用网络Vagrant环境。我现在可以在端口80上访问http版本,但我也希望能够在端口8080上访问它。

我添加了这样的内容:

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

但是,当我在端口8080上访问我的网站时,我收到一个不可用的页面错误。 80端口仍然有效。如果转发的端口不适用于专用网络,如何在不同的端口上正确访问我的VM?

2 个答案:

答案 0 :(得分:1)

记住Vagrant端口转发 ONLY 适用于默认NAT网络(使用VirtualBox NAT),而不是私有或公共。

因此,如果您想通过端口8080上的私有IP访问该服务,您可以在端口8080上侦听它,也可以使用iptables转发数据包。

e.g。

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

答案 1 :(得分:1)

好的,我正在使用rails应用程序,它是我的Vagrantfile,我可以很好地访问我的Web服务。

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

我是按照Vagrant site.

的说明做到的