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

jcj*_*cjc 6 virtual-machine vagrant

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

我添加了这样的东西:

config.vm.network :forwarded_port, guest: 80, host: 8080, auto_correct: true
Run Code Online (Sandbox Code Playgroud)

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

Ter*_*ang 3

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

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

例如

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