Apache2.4 Raspbian 无法使用 ServerName 访问 VirtualHosts,只能使用端口号

Apache2.4 Raspbian 无法使用 ServerName 访问 VirtualHosts,只能使用端口号

我不需要在本地使用命名主机来工作,因为我主要需要的是外部网络访问(我已经设置了端口转发),但我仍然想知道为什么我不能用我定义的服务器名称访问虚拟主机。

我正在使用 Raspberry Pi(Raspbian,基于 Debian),但是在 VMWare VM 上的 Ubuntu 18 上遇到了同样的问题,无论是在众多操作系统还是 Apache 安装上。

在我的 Apache.conf 中我添加了:

ServerName localhost   
NameVirtualHost *:8010

在我的 virtualhost.conf 中我有:

<VirtualHost *:8010>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/MySite/public
    ServerName www.think.com
    ServerAlias www.think.com
    DirectoryIndex index.php

    ErrorLog /var/log/apache2/concrete5-error_log
    CustomLog /var/log/apache2/concrete5-access_log common
</VirtualHost>

(我尝试过使用和不使用 ServerAlias)

在我的 ports.conf 中我添加了:

Listen 8010

最后在我的主机中我有:

127.0.0.1   localhost
::1     localhost ip6-localhost ip6-loopback
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters

127.0.1.1       raspberrypi
127.0.0.3   www.think.com
127.0.0.2   gci.example.com

我可以通过以下方式访问我的网站http://本地主机:8010/毫无问题,但是http://www.think.com无论我做什么,都会重定向到 Apache2 默认页面。即使我完全按照 Ubuntu 教程操作,我也无法让命名站点正常工作(https://ubuntu.com/tutorials/install-and-configure-apache#1-overview)。

我也禁用了默认站点,并尝试打开默认站点,两者都得到了上述相同的结果。

任何帮助都将不胜感激!

编辑:更新名称以使问题更清晰

答案1

如果不是默认的 80,则需要指定端口号。

http://www.think.com:8010/

另一种方法是让 Apache 监听端口 80。但是,根据您的描述,Apache 已在监听该端口。为什么不将您的虚拟主机添加到该 Apache,并使用

<VirtualHost *:80>

基于名称的虚拟主机

相关内容