【问题标题】:Problems accessing Apache vhost in Vagrant在 Vagrant 中访问 Apache vhost 的问题
【发布时间】:2020-09-17 19:45:00
【问题描述】:

我有 Apache 服务器在 Ubuntu 上的 Vagrant box 中运行。在我的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 机器时,您的站点是否响应?如果是这样,您必须从您的服务器转到 http://cats.test:8080/,因为您将服务器的 8080 端口转发到 Ubuntu 的 80 端口。
  • 这就是答案,谢谢!如果你想写出来,我会标记它是正确的。
  • 很高兴它有帮助,为答案完成:)

标签: apache vagrant virtualhost


【解决方案1】:

假设您的站点在您从 Ubuntu 虚拟机本身测试时确实响应正确,那么它缺少 URL 中的端口。

Ubuntu VM 上的 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 指定端口。

【讨论】:

    猜你喜欢
    • 2017-09-08
    • 2012-09-27
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 2015-10-25
    • 2017-07-26
    相关资源
    最近更新 更多