Apache 默认主机绑定

Apache 默认主机绑定

我在 Ubuntu 上有一个标准的 apache2 安装,其中添加了 mysite1.com,内容如下:

 <VirtualHost mysite1.com:80>

自从添加这个功能以来,当我调用时,http://<external-ip>我不再获得配置在以下位置的默认 Apache 站点/etc/apache2/sites-enabled/000-default.conf

 <VirtualHost *:80>

为什么要http://<external-ip>绑定到 mysite.com??

我希望所有未配置的Host:标题都达到默认值,并且<external-ip>在我看来,未配置。

更新:@Daniel Ferradal 提供的解决方案是在全部<VirtualHost *:80>并使用ServerName指令来进行主机名映射。

答案1

https://httpd.apache.org/docs/2.4/vhosts/details.html

当某个地址和端口上首次接收到连接时,服务器会查找所有具有相同 IP 地址和端口的 VirtualHost 定义。

如果地址和端口没有完全匹配,则考虑通配符 (*) 匹配。

通过将您的 VirtualHost 绑定到特定的 IP 地址和端口组合<VirtualHost mysite1.com:80>(并且您的其他 VirtualHost 块都没有明确地绑定到相同的 IP 地址和端口),它优先于通配符并有效地成为默认 VirtualHost(对于 IP 地址mysite1.com和端口80)。

相关内容