通过带有端口转发的主机名连接到 Vagrant VM 时超时

通过带有端口转发的主机名连接到 Vagrant VM 时超时

我正在尝试获取已分发给我的 Vagrant VM 设置(因此我没有自己配置它)。我已vagrant up成功安装了 VM,但当我尝试使用浏览器访问主机名时,我收到超时。我也已在 hosts 文件中设置了主机名。

Vagrantfile 中的配置:

# Networking
config.vm.network :private_network, ip: "192.168.33.28"
config.vm.network :forwarded_port, guest: 80, host: 80, auto_correct: true
config.vm.network :forwarded_port, guest: 443, host: 443, auto_correct: true
config.vm.hostname = "mysite.local"

我的主机文件中的行:

192.168.33.28   mysite.local secure.mysite.local

当我尝试浏览http://我的网站.local我超时了。

我尝试将 Vagrantfile 配置更改为:

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

然后运行vagrant reload。在此之后,我仍然会收到超时,http://mysite.local:8080但我会收到成功响应http://localhost:8080

谢谢你!

答案1

首先,没有 root/sudo 的话,您无法绑定到 1024 以下的端口(在主机上)(并且您不应该以 root 身份运行 Vagrant)。我假设您会收到一些错误/警告消息,但也许只是auto_correct绑定到一些非特权端口。

而且由于您已经private_network为机器指定了 IP 地址,因此您甚至不需要任何端口转发。直接连接就可以了。

对于超时我至少能想到以下原因:

  • 客户机或主机上的防火墙
  • 不排除“mysite.local”或“192.168.33.28”的 HTTP 代理配置
  • Web 服务器重定向http://我的网站.local指向无法访问的域的 URL
  • 192.168.33.28 被另一台虚拟机使用或与主机上的其他网络重叠

相关内容