我正在运行具有指定IP地址和主机名的专用网络Vagrant环境。我现在可以在端口80上访问http版本,但我也希望能够在端口8080上访问它。
我添加了这样的内容:
config.vm.network :forwarded_port, guest: 80, host: 8080, auto_correct: true
但是,当我在端口8080上访问我的网站时,我收到一个不可用的页面错误。 80端口仍然有效。如果转发的端口不适用于专用网络,如何在不同的端口上正确访问我的VM?
答案 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.
的说明做到的