测试 vhost 配置

测试 vhost 配置

我一直在努力让 vhost 配置在工作中的内部开发服务器上工作。我在站点可用目录中找到了其他 vhost 配置。出于某种原因,我不明白为什么我的新 vhost 没有响应任何请求。我得到的只是一个 404 语句。这不是一个公开访问的服务器,所以我不确定这是否与此有关。此外,如果我故意在配置中添加语法错误,apache 会向我大喊大叫,所以我知道它实际上正在加载。我多次重新启动了 apache 服务器。我不知道这是否与服务器名称有关。我只想输入 192.168.254.35/rackapp,然后让 apache 将我放在我选择的 DocumentRoot 中。目前我可以执行 192.168..254.35/rack_example/public。

  • 我还应该在哪里进行编辑才能使其正常工作?

这就是我要加载的内容

<VirtualHost *>
    ServerName rackapp
    ServerAdmin [email protected]

    DocumentRoot /var/www/rack_example/
</VirtualHost>

此配置没有问题

<VirtualHost *>
    ServerName collab
    ServerAdmin [email protected]

    DocumentRoot /var/www/collab/

    ErrorLog /var/log/apache2/colab-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/collab-access.log combined

</VirtualHost>

答案1

Apache 使用您在浏览器中输入的主机名来选择正确的虚拟主机。如果您使用 IP 地址,它将选择第一个可用的虚拟主机。

要测试虚拟主机,您应该通过其名称访问它们。为此,您可以编辑hosts 文件 /etc/hosts并添加以下两行:

192.168.254.35 rackapp
192.168.254.35 collab

%SystemRoot%\system32\drivers\etc\hosts对于 Windows 系统。

然后您将能够访问http://rackapp/http://collab/测试您的 Apache 配置。

你也可以玩一下,直接将 HTTP 标头发送到你的 Web 服务器:

$ echo -e "GET / HTTP/1.1\r\nHost: rackapp\r\n\r\n" | nc 192.168.254.35 80

答案2

您在这里混淆了服务器名称和 URL。

如果您希望192.168.25.35/rackapp服务器的 URL 为 ,则 VirtualHost 的 ServerName 应该是 ,192.168.25.35而不是rackapp。使用您已获得的设置,您需要使用 连接到服务器http://rackapp,这将为您提供为虚拟主机设置的文档根目录。

如果尝试连接时http://rackapp出现“找不到服务器”的提示,则需要编辑 /etc/hosts 文件以包含以下行

19.168.25.35 rackapp

相关内容