当前位置: 首页 > news >正文

Apache 虚拟主机配置冲突导致 404 错误的排查总结

1. 问题现象
  • 访问服务器 IP(http://192.168.88.120)返回 404 Not Found

  • 确认 /var/www/html/index.html 文件存在且内容正确(web1)。

  • 检查发现 /etc/httpd/conf.d/ 下存在多个虚拟主机配置(如 a.org.confb.org.conf),均定义了不同的 DocumentRoot


2. 根本原因
  • 虚拟主机覆盖默认配置
    Apache 加载虚拟主机时,若未明确匹配到 ServerName 或 ServerAlias,可能错误使用某个虚拟主机的 DocumentRoot,而非默认的 /var/www/html

  • 缺少默认主机
    无 <VirtualHost *:80> 默认配置时,Apache 会按文件名顺序选择第一个虚拟主机作为“兜底”,导致访问 IP 时返回错误路径。


3. 解决方案
方法 1:添加默认虚拟主机

在 /etc/httpd/conf.d/ 下创建优先级最高的配置文件(如 00-default.conf):

bash

sudo vi /etc/httpd/conf.d/00-default.conf

内容:

<VirtualHost *:80>DocumentRoot "/var/www/html"ServerName localhostServerAlias 192.168.88.120  # 替换为你的服务器IP<Directory "/var/www/html">Require all granted</Directory>
</VirtualHost>

重启 Apache:

sudo systemctl restart httpd
方法 2:禁用冲突的虚拟主机(测试用)

临时重命名其他虚拟主机配置以排除干扰:

sudo mv /etc/httpd/conf.d/a.org.conf /etc/httpd/conf.d/a.org.conf.bak
sudo mv /etc/httpd/conf.d/b.org.conf /etc/httpd/conf.d/b.org.conf.bak
sudo systemctl restart httpd

测试后恢复:

sudo mv /etc/httpd/conf.d/a.org.conf.bak /etc/httpd/conf.d/a.org.conf
sudo mv /etc/httpd/conf.d/b.org.conf.bak /etc/httpd/conf.d/b.org.conf
方法 3:明确指定虚拟主机的匹配规则

确保其他虚拟主机配置中 仅响应特定域名,避免匹配到 IP 请求:

# 例如:/etc/httpd/conf.d/a.org.conf
<VirtualHost *:80>DocumentRoot "/var/www/html/a.org"ServerName a.org      # 必须指定域名ServerAlias www.a.org # 可选别名
</VirtualHost>

http://www.lryc.cn/news/621448.html

相关文章:

  • 通信算法之313:FPGA中实现滑动相关消耗DSP资源及7045/7035的乘法器资源
  • redis中分布式锁的应用
  • 面试题:如何用Flink实时计算QPS
  • 解锁AI潜能:五步写出让大模型神级指令
  • 宋红康 JVM 笔记 Day01|JVM介绍
  • 嵌入式开发学习———Linux环境下网络编程学习(一)
  • 【数据分享】351个地级市农业相关数据(2013-2022)-有缺失值
  • 速通C++类型转换(代码+注释)
  • AI测试自动化:智能软件质量守护者
  • 带root权限_贝尔RG020ET-CA融合终端S905L处理器当贝纯净版刷机教程
  • ROS机器人云实践案例博客建议和范文-AI版本
  • DAY 22|算法篇——贪心四
  • linux初始化配置
  • 【Linux系统】进程的生命旅程:从创建到独立的演绎
  • vue+moment将分钟调整为5的倍数(向下取整)
  • 人工智能——卷积神经网络自定义模型全流程初识
  • 18.12 BERT问答系统核心难题:3步攻克Tokenizer答案定位与动态填充实战
  • httpx 设置速率控制 limit 时需要注意 timeout 包含 pool 中等待时间
  • C语言指针使用
  • Day57--图论--53. 寻宝(卡码网)
  • 使用免费API开发口播数字人
  • 计算机视觉Open-CV
  • 新手入门 Makefile:FPGA 项目实战教程(一)
  • 经典蓝牙(BR/EDR)配对连接全过程:从 HCI 命令到 Profile 交互
  • PHP持久连接与普通连接的区别
  • 上网行为组网方案
  • Linux软件下载菜单脚本
  • 2025 年电赛 C 题 发挥部分 1:多正方形 / 重叠正方形高精度识别与最小边长测量
  • 待办事项小程序开发
  • Multimodal RAG Enhanced Visual Description