Apache:客户端被服务器configuration拒绝

我正进入(状态

[2012年4月24日12:12:55] [错误] [客户端127.0.0.1]客户端被服务器configuration拒绝:/ labs / Projects / Nebula / bin /

我的目录结构看起来像(我正在使用Symfony 2,应该是其他Web框架类似的结构)

在这里输入图像描述

我有vhosts安装如下:

<VirtualHost nebula:80> DocumentRoot "/labs/Projects/Nebula/web/" ServerName nebula ErrorLog "/var/log/httpd/nebula-errors.log" </VirtualHost> <Directory "/labs/Projects/Nebula/"> Options All AllowOverride All Order allow,deny Allow from 127.0.0 192.168.1 ::1 localhost </Directory> 

我不知道是什么问题,我该如何解决?

Apache 2.4.3(或者稍微早些时候)添加了一个新的安全function,通常会导致这个错误。 您还会看到“服务器configuration拒绝的客户端”的日志消息。 该function需要授权的用户身份才能访问目录。 它由Apache附带的httpd.conf中的DEFAULT打开。 您可以看到使用该指令启用该function

 Require all denied 

这基本上说,拒绝所有用户的访问。 要解决这个问题,要么删除被拒绝的指令(或者好得多)将下面的指令添加到你想要授予访问权限的目录中:

 Require all granted 

如在

 <Directory "your directory here"> Order allow,deny Allow from all # New directive needed in Apache 2.4.3: Require all granted </Directory> 

好的,我正在使用错误的语法,我应该使用

 Allow from 127.0.0.1 Allow from ::1 ... 

在Apache 2.4中,旧的访问授权语法已被弃用,并被使用Require的新系统取代。

那么你想要什么就像下面这样:

 <Directory "/labs/Projects/Nebula/"> Options All AllowOverride All <RequireAny> Require local Require ip 192.168.1 </RequireAny> </Directory> 

这将允许从本地主机从以“192.168.1”开头的IP地址发起的连接。

还有一个新的模块可以使Apache 2.4识别旧的语法,如果你不想马上更新你的configuration:

 sudo a2enmod access_compat 

你能否尝试改变“允许从127.0.0 192.168.1 :: 1本地主机”到“全部允许”。 如果这可以解决您的问题,那么您就不需要限制可以从哪里请求内容

这是我在debian上的symfony 1.4虚拟主机文件,工作正常。

  <Directory /var/www/sf_project/web/> Options All Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> 

如果你不想限制访问特定的IP范围,例如本地主机使用这个:

 Allow from 127.0.0.0/8 

mod_authz_host负责过滤IP范围。 你可以在那里查看详细的东西。

但也许这个问题可能与你的“apache2.conf”中的某种错误configuration有关。

在什么操作系统的Ap​​ache运行?

如果你有

 Allow from All 

在httpd.conf中,然后确保我们有

的index.php

就像在httpd.conf中的下面一行一样

 DirectoryIndex index.html index.php 

我有这个问题使用Vesta CP和我,诀窍是删除.htaccess并尝试再次访问任何文件。

这导致.htaccess文件的重新生成,然后我能够访问我的文件。

就我而言,关键是:

 AllowOverride All 

在虚拟主机的定义。 我希望它可以帮助别人。

此代码为我工作..

  <Location /> Allow from all Order Deny,Allow </Location> 

希望这可以帮助别人