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

AWS EC2 Amazon Linux配置Apache多虚拟主机访问报错排查

配置错误点及修复方案

首先补充背景:Amazon Linux 属于 RHEL 系发行版,和 Debian/Ubuntu 系的 Apache 目录结构不同,默认没有 /etc/apache2/sites-available 目录属于正常情况,你可以选择直接修改主配置文件/etc/httpd/conf/httpd.conf,也可以把自定义配置写到/etc/httpd/conf.d/目录下的.conf后缀文件中,更便于管理。

核心错误1:ServerName 配置不符合语法规则

ServerName 字段仅支持填写域名、IP地址或带端口的IP/域名,不允许携带路径后缀。你填写的13.59.121.162/food、13.59.121.162/admin属于无效值,Apache无法识别匹配这两个虚拟主机,会默认 fallback 到排序第一的虚拟主机配置,所以你访问根路径时直接返回了第一个虚拟主机指定的/var/www/html/food下的内容。

核心错误2:虚拟主机使用场景错误

<VirtualHost> 是用来区分不同域名、不同监听IP、不同监听端口的站点的,不能用来实现同站点下不同路径映射不同项目目录的需求。

超时原因排查

你已经确认根路径可以正常访问,说明80端口安全组、实例防火墙规则是正常的,子路径返回超时大概率是修改配置后未重启Apache服务,或者配置语法错误导致Apache服务运行异常,可先执行sudo apachectl configtest验证配置语法是否合法。

正确配置方案

  1. 先删掉你之前在httpd.conf末尾添加的两个无效<VirtualHost>配置块
  2. 新增如下配置实现路径映射需求:
# 授权两个项目目录的访问权限
<Directory "/var/www/html/food">
    AllowOverride All
    Require all granted
</Directory>
<Directory "/var/www/html/backoffice">
    AllowOverride All
    Require all granted
</Directory>
# 将/admin路径映射到backoffice目录
Alias /admin /var/www/html/backoffice
  1. 验证配置语法正确性:
sudo apachectl configtest

返回Syntax OK后执行重启命令生效:

sudo systemctl restart httpd

配置生效后即可通过http://13.59.121.162/food访问美食项目、http://13.59.121.162/admin访问后台项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:12:03