Vagrant 在 80 端口上运行

Vagrant 在 80 端口上运行

我曾经在 Windows 机器上运行 Vagrant,SSH 监听端口 2222(默认情况下,主机:2222,客户机:22),并且我曾经将端口 80 转发到端口 80(主机:80,客户机:80,因此我只需输入http://localhost/foo/bar而不是http://localhost:8080/foo/bar

不幸的是,此设置在 Ubuntu 中不起作用。它似乎不会将主机上的端口 80 转发到虚拟机。

pascal@Lenovo-2013:~/VM/foobar$ sudo netstat -tapen | grep ":80 "
tcp        0      0 192.168.100.106:56209   108.160.162.112:80      VERBUNDEN   1000       17616       3880/dropbox    
tcp        0      0 192.168.100.106:40977   173.194.40.46:80        TIME_WAIT   0          0           -               
tcp        0      0 192.168.100.106:45874   104.16.15.44:80         VERBUNDEN   1000       133141      8940/firefox    
tcp        0      0 192.168.100.106:32927   31.13.93.3:80           TIME_WAIT   0          0           -               
tcp        0      0 192.168.100.106:42875   87.245.64.151:80        TIME_WAIT   0          0           -               

我理解的对吗?我的电脑上没有程序使用端口 80?那么为什么它不转发端口呢?

任何想法?

答案1

按照这个答案

VirtualBox 手册对 NAT 模式限制有如下说明:

转发主机端口 < 1024 是不可能的:

在基于 Unix 的主机(例如 Linux、Solaris、Mac OS X)上,无法将非由 root 运行的应用程序绑定到 1024 以下的端口。

答案2

如果我理解正确的话,您正在使用 Ubuntu 作为主要发行版并尝试在虚拟机上使用 WinXP,以便您可以按照以前的方式使用 Vagrant,或者它在 Ubuntu 上不可用(不熟悉它)。

我觉得您忘记在虚拟机中将网络设置为网关。它目前可能设置为 NAT,因此您的虚拟机没有网络路径 Ubuntu。

编辑:根据评论,发现两台计算机的范围不同。尝试将两台计算机置于相同的 IP 范围内。

相关内容