我试过在我的vagrantfile中这样做
config.vm.network "private_network", ip : "192.168.33.15"
所以当我启动我的盒子时,我可以通过我的浏览器“本地”访问nginx。我想要的是使用公共IP访问它。我试过这个,(在文档中找到)
config.vm.network "public_network", ip: "202.137.x.x", netmask: "255.255.x.x"
config.vm.provision "shell",
run: "always",
inline: "route add default gw 202.137.x.x"
config.vm.provision "shell",
run: "always",
inline: "eval `route -n | awk '{ if ($8 ==\"eth0\" && $2 != \"0.0.0.0\") print \"route del default gw \" $2; }'`"
这仍然不起作用。有任何想法吗?
*编辑 我也试过端口转发,
config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "202.137.x.x"
我必须这样做:202.137.x.x:8080,我想在没有端口的情况下访问。 另外,主机端口不能<1024,所以我不能把端口80 ..
我已经尝试在Windows(主机)中进行端口转发,所以这就是我解决它的方式..
netsh interface portproxy add v4tov4 listenport=80 listenaddress=202.137.x.x connectport=8080 connectaddress=202.137.x.x
这会将对端口80上的主机的任何请求转发到主机上的端口8080。 因此,端口转发流程变为: 主持人:80 =>主持人:8080 =>客人:80 source here