CentOS 7 Apache服务器403 Forbidden问题求助
排查与解决Apache 403 Forbidden问题
1. 域名与虚拟主机配置不匹配
你访问的域名是ow.earthquake-site.com,但当前配置里的ServerName是my.earthquake-site.com,且未针对ow.earthquake-site.com配置虚拟主机。虽然Apache默认会处理所有解析到该服务器的域名,但如果后续存在其他虚拟主机配置,可能导致请求被错误路由。
解决方法:
添加针对目标域名的虚拟主机配置,可将这段内容放到主配置文件末尾,或conf.d/目录下的单独.conf文件中:
<VirtualHost *:80> ServerName ow.earthquake-site.com DocumentRoot "/var/www/html" <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> ErrorLog "logs/ow-error_log" CustomLog "logs/ow-access_log" combined </VirtualHost>
添加后重启Apache服务。
2. 全局Options指令冲突
配置文件最后一行的Options all -Indexes是全局生效的指令,会覆盖局部目录配置的可能性。如果你的/var/www/html目录下没有index.html文件,且目录索引被禁用,会直接返回403。
解决方法:
- 删除全局的
Options all -Indexes指令,或把它移到对应目录的配置块内,例如修改/var/www/html的Directory配置:
<Directory "/var/www/html"> Options FollowSymLinks AllowOverride None Require all granted </Directory>
- 确保
/var/www/html目录下存在index.html文件,或临时开启目录索引测试:将Options改为Indexes FollowSymLinks,重启Apache后访问域名,看是否能列出目录内容。
3. 文件系统权限问题
Apache运行用户为apache,如果/var/www/html目录或其中的文件未授予apache用户读权限,会触发403错误。
解决方法:
执行以下命令修复权限:
chown -R apache:apache /var/www/html chmod -R 755 /var/www/html
修复后重启Apache测试。
4. 查看错误日志定位具体原因
Apache的错误日志会记录403错误的详细触发原因,比如权限不足、文件缺失、配置冲突等。
执行命令实时查看最新日志:
tail -f /etc/httpd/logs/error_log
在浏览器访问网站后,观察日志输出的具体信息,针对性解决问题。
内容的提问来源于stack exchange,提问作者Steam Ranger
相关产品推荐
相关产品推荐

