我目前正在使用AWS EC2 (ubuntu20.04)机器。我安装了apache2,并在/var/www/myapp/myapp.html和/var/www/mynew/mynew.html配置了两个新站点。我在/etc/apache/sites available/myapp.conf位置创建了一个新的虚拟主机文件。我已经添加了两个虚拟主机条目对应于上述网站。启用myapp.conf文件(a2ensite myapp.conf)并禁用默认虚拟主机文件(000-default.conf)。作为一个实验,我为虚拟主机指令设置了错误的IP:端口组合,这样我的请求就不会匹配任何虚拟主机。当我试图访问服务器时,它将服务于默认的网页。但我期待着第一个虚拟主机的内容。
如果没有与请求的IP:端口匹配的虚拟主机,那么是否有人知道为什么会显示禁用的默认网页?
发布于 2023-02-10 18:43:31
最后,我找到了我的问题的答案。
我做了更多的故障排除,并尝试了如下所述的其他场景,
我的发现:
我搜索了这个,发现了下面的细节。
顾名思义,当虚拟主机本身没有指定时,它就是默认的DocumentRoot值。因此,如果请求与缺少DocumentRoot指令以满足请求的虚拟主机块匹配,则Apache将使用默认的或主文档根来服务请求。
Apache默认文档根在两处指定,
注意:主服务器配置中指定的文档根值将覆盖从编译时或运行时继承的文件根值。
换句话说,我的主DocumentRoot未配置,默认值被使用,直到我在全局配置文件中显式地定义了它。
请参阅此链接以获得更多信息:
https://askubuntu.com/questions/1454268
复制相似问题