宿主机访问虚拟机中的web项目报错403
1,首先判断是apache配置文件权限问题,于是做以下修改:
修改主配置文件httpd.conf (我的目录是 /opt/lampp/etc/httpd.conf)
找到:
<Directory />
AllowOverride none
Require all denied #引入所有的拒绝权限
</Directory>
修改为:
<Directory />
AllowOverride all
Order allow,deny
Allow from all #允许所有访问
Require all granted #引入所有的授权
</Directory>
2,再去虚拟主机 /opt/lampp/etc/extra/httpd-vhosts.conf中配置web站点(前提是在httpd.conf中引入了该配置)
<VirtualHost *:80>
DocumentRoot "/home/wwwroot/test"
ServerName www.test.com
ServerAlias www.test.com
ErrorLog "logs/www.test.com-error_log" #错误日志
CustomLog "logs/www.test.com-access_log" common #访问日志
<Directory "/home/wwwroot/test">
DirectoryIndex index.php
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted #要求所有授权
</Directory>
</VirtualHost>
再次在宿主机(物理机)浏览器访问 www.test.com发现还是报错403
3,查看错误日志www.test.com-error_log"信息:
[client 192.168.2.1:52395] AH00529: /home/wwwroot/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/home/wwwroot/' is executable, referer: http://www.test.com/
4,再次检查了相关的配置文件,权限都已经给了,,,看来配置文件是没什么问题,,,按着错误日志上的提示检查/home/wwwroot下确实没有.htaccess文件,于是给/home/wwwroot 755 权限
解决:
chmod -R 755 /home/wwwroot/
后就可以了
总结一下403 Forbidden主要原因分析
1,客户端IP被列入黑名单
2,在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了 (测试服一般在搭建开发环境之前会关闭防火墙(永久))
3,网站域名解析到了空间,但空间未绑定此域名
4,网页脚本文件在当前目录下没有执行权限 (对相应目录chmod权限 es: chmod -R 755 /home/wwwroot)
5,在不允许写/创建文件的目录中执行了创建/写文件操作
6,服务器繁忙,同一IP地址发送请求过多,遭到服务器智能屏蔽