那么是什么让 apache 中的“默认”虚拟主机成为未配置域的通配符?也就是说,当您尝试在 Web 浏览器中加载未配置的域时,是什么让此虚拟主机优先于其他任何主机加载?我感觉这可能只是缺少 ServerName 和 ServerAlias 参数?
我刚刚设置了一个新的 Apache 实例,并在默认实例旁边创建了一个新的虚拟主机。即使我指定了 ServerName、运行 a2ensite 并重新加载 apache,它仍然会从默认虚拟主机加载默认页面。
答案1
默认虚拟主机是最先解析的虚拟主机。这就是为什么/etc/apache2/sites-enabled/
它通常被输入为000-default
。
您还可以使用 进行检查apache2ctl -S
。它明确指出哪个虚拟主机是默认虚拟主机。
也许您的配置中有拼写错误?请检查VirtualHost
IP 和端口的前几行,并检查ServerName
是否ServerAlias
有拼写错误。