Apache服务器 403 Forbidden的几种错误原因小结!
403 Forbidden错误原因详解
- 403 - Forbidden(禁止访问),服务器拒绝请求
- - forbidden request (matches a deny filter) => HTTP 403
- - The request was a legal request, but the server is refusing to respond to it.
原因1 apache的配置文件没有对站点目录许可
apache配置文件中没有对站点目录的权限许可配置,这通常是在初始化安装apahce后,更改了默认的apache站点目录导致。
解决办法可能是:通过给主配置文件增加类似<Directory "/application/apache2.2.31/htdocs"></Directory>标签实现对指定目录的权限控制
典型如下(对/var/www目录下的文件允许访问):
- <Directory "/var/www">
- Options -Indexes FollowSymLinks # 为了服务器的安全 Indexes参数一般要取消
- AllowOverride None
- Order allow,deny # 允许未被明确拒绝的
- Allow from all
- </Directory>
原因2 站点目录下没有首页文件,而apache 的配置又禁止了目录的浏览
站点目录下没有首页文件 (index.php、index.html等默认文件),而apache的配置又禁止了目录浏览(#Indexes参数:访问目录时,另外如果不存在默 认首页则展示站点列表,该行建议改成 Options None),这时也会提示403错误。
解决办法:在站点目录添加默认首页文件或者将配置文件中Options Index增加上。
原因3 deny from all 禁用了所有来访者访问
- <Directory "/var/www">
- Options -Indexes FollowSymLinks # 为了服务器的安全 Indexes参数一般要取消
- AllowOverride None
- Order allow,deny # 允许未被明确拒绝的
- Deny from all
- </Directory>
解决办法:参考原因2解决方法配置</Directory> 参数。
如果系统为Linux系统,站点可能存在目录权限问题
站点目录需要apache的用户有访问权限,否则就会报403错误(一般web站点目录权限给755,站点文件权限给644,上传程序通过另外的上传服务器提供文件上传)