在 vagrant 中转发多个端口

Forwarding multiple ports in vagrant

我有一个 vagrant box。我已经在转发一个看起来像这样的端口

config.vm.network "forwarded_port", guest: 80, host: 8181

这很好用,但我想转发另一个端口,我在下面添加了以下行:

config.vm.network "forwarded_port", guest: 8080, host: 5555

我有一个 apache 服务器在来宾的 80 端口侦听,我设置了一个 python 服务器来在来宾的 8080 端口侦听。在我的主机中,我访问 127.0.0.1:8181 并且它有效,但是如果我访问 127.0.0.1:5555,我得到这个页面不工作。

如果有帮助这是我在 vagrant 中的网络配置。

config.vm.network "forwarded_port", guest: 80, host: 8181
config.vm.network "forwarded_port", guest: 8080, host: 5555
config.vm.network "private_network", ip: 192.168.33.111

我尝试添加 host_ip: "127.0.0.1" 但它没有任何改变。我在修改我的 vagrantfile 后使用了 vagrant reload。 我在这里弄错了什么?

我遵循了此处提供的信息:https://www.vagrantup.com/docs/networking/forwarded_ports.html

您似乎将端口颠倒了。将 5555 行更改为:

config.vm.network "forwarded_port", guest: 5555, host: 8080

或者,您可以只转发同一个端口:

config.vm.network "forwarded_port", guest: 5555, host: 5555

好的,我能够解决这个问题。你必须执行 ifconfig 并从 inet 部分获取你的 ip 地址。

使用此地址而不是 localhost 或 127.0.0.1 以及您想要收听的任何端口(如果可用)。对我来说,我的 ip 是 10.0.2.15,我在端口 8080 上监听并访问了 127.0.0.1:5555 并且它有效。