在 Vagrant 中访问 Apache vhost 的问题

Problems accessing Apache vhost in Vagrant

我在 Vagrant 盒子的 Ubuntu 上有 Apache 服务器 运行。在我的 sites-available 目录中,我有两个文件:

cats.com.conf

<VirtualHost *:80>
    ServerName cats.com
    ServerAlias cats.test
    DocumentRoot /var/www/cats.com
</VirtualHost>

dogs.com.conf

<VirtualHost *:80>
    ServerName dogs.com
    ServerAlias dogs.test
    DocumentRoot /var/www/dogs.com
</VirtualHost>

在 Vagrant 中我设置了这个端口转发:

Host IP   | Host Port | Guest IP  | Guest Port
----------------------------------------------
127.0.0.2 | 8000      | 10.0.2.15 | 80

在我的 hosts 文件中:

127.0.0.2 cats.test
127.0.0.2 dogs.test

但是当我在浏览器中访问cats.test时,它无法连接。

假设您的站点在您从 Ubuntu VM 本身测试时确实响应正确,那么它缺少 URL.

中的端口

UbuntuVM 上的 https 侦听端口 80。当您指定 Vagrant 端口转发时:

Host IP   | Host Port | Guest IP  | Guest Port
----------------------------------------------
127.0.0.2 | 8000      | 10.0.2.15 | 80

它告诉 Vagrant 监听端口 8080,并将流量转发到 Ubuntu VM 的端口 80。

因此在您的主机系统上,您必须将浏览器指向 http://cats.test:8080/

信息:当您使用 http://example.com/ 连接到网站时,它默认使用端口 80 (http://)。对于 https://example.com/,它默认为端口 443。但是可以在任何端口上处理 http 流量。您可以在要访问的域后使用 :PORT 指定端口。