我正在尝试获取已分发给我的 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 被另一台虚拟机使用或与主机上的其他网络重叠