升木 发表于 2018-11-19 08:45:05

解决apache下http请求403 Forbidden错误

  出现403 Forbidden报错,一般两种可能性
  可能性一、DocumentRoot选项,忘记配置新目录的访问权限
  默认安装成功参数设置:
DocumentRoot /usr/local/www/data  

  
    Options Indexes FollowSymLinks
  
    AllowOverride None
  
    Order allow,deny
  
    Allow from all
  

  1.1 问题一、重新指定web存放目录,忘记修改Directory后面的路径
  例如 DocumentRoot /usr/local/www/data,忘记指定Directory项的路径,造成访问所有目录都出现403,必须同时指定directory "/usr/local/www/data"才行。
  1.2 问题二
  
    Options FollowSymLinks
  
    AllowOverride None
  
    Order deny,allow
  
    Deny from all
  

  其中Deny from all已经拒绝了所有的请求链接。应该修改成allow from all
  
    Options FollowSymLinks
  
    AllowOverride None
  
    Order deny,allow
  
    allow from all
  

  可能性二、
  配置了VirtualHost,并且有某个VirtualHost的DocumentRoot不在全局的DocumentRoot目录下。
  解决:此时必须在全局中单独增加对该项目的Directory项设置,否则所有访问该VirtualHost下的请求都会403
  问题原因:主要是因为Apache2对权限和安全的更高要求,对分布在不通磁盘上的目录文件进行严格管理。
  通常尝试办法:
第一:看看是不是Directory配置错了,好像一般不会是这个原因  
第二:看看User Group指定的用户有没有权限访问那个目录,否则用chown修改目录的所有者
  
第三:看看是不是seLinux搞得鬼,一般没事把selinux停了再重启linux,selinux的配置文件在/etc/selinux/config,改成disable
  
第四:我把所有的都做了发现还是不行,那么可能是apache是用root安装的,把apache卸了用一个非root用户重新安装。


页: [1]
查看完整版本: 解决apache下http请求403 Forbidden错误