You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同IP端口下存在多个VHost时,Apache选择服务虚拟主机的规则是什么?

Apache 同IP/端口下多虚拟主机匹配规则

核心匹配逻辑

Apache 对同IP+端口下的多个虚拟主机,遵循以下优先级规则匹配处理请求:

  • 首先提取请求头中的Host字段值,与所有监听当前IP+端口的虚拟主机的ServerName、ServerAlias配置做精确匹配,匹配到对应虚拟主机后直接返回该站点内容
  • 若未匹配到任何符合条件的虚拟主机,会自动返回当前IP+端口组合下第一个被Apache加载的虚拟主机的内容,你提到的「先配置先响应」规则完全成立,这个默认 fallback 的主机也被称为默认虚拟主机。

直接访问IP返回某一站点的原因

你直接通过IP访问80端口时,请求的Host字段值就是服务器IP,如果你没有将该IP配置为任意一个虚拟主机的ServerName或ServerAlias,Apache无法找到对应的虚拟主机,就会直接返回默认虚拟主机的内容。

Virtualmin 场景的补充说明

Virtualmin 创建虚拟主机时,会按虚拟主机的创建顺序生成独立的配置文件,Apache 加载配置时会按配置文件的文件名排序依次读取,先被加载的虚拟主机就会成为对应IP+端口的默认虚拟主机。你可以通过以下命令验证当前的默认虚拟主机:

  • Debian/Ubuntu 系统执行:apache2ctl -S
  • CentOS/RHEL 系统执行:httpd -S
    命令输出中对应你的IP:80条目下标注了default server的就是当前生效的默认虚拟主机。

内容的提问来源于stack exchange,提问作者amiraljack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:24:03