我正在
[Tue Apr 24 12:12:55 2012] [错误] [客户端127.0.0.1]客户端被服务器配置拒绝:/ 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>
我想知道问题是什么,我该如何解决?
答案 0 :(得分:394)
Apache 2.4.3(或稍早一点)添加了一个新的安全功能,通常会导致此错误。您还会看到“客户端拒绝服务器配置”形式的日志消息。该功能要求授权用户标识访问目录。它由Apache附带的httpd.conf中的DEFAULT打开。您可以使用指令
查看功能的启用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>
答案 1 :(得分:11)
好的我使用了错误的语法,我应该使用
Allow from 127.0.0.1
Allow from ::1
...
答案 2 :(得分:4)
在Apache 2.4中,旧的访问授权语法已被弃用,并被使用需要的新系统取代。
您想要的是以下内容:
library(matrixStats)
z <- function(x1, x2) {
rowMins(tcrossprod(x1 * x2, pts))
}
x %>% mutate(foo = z(V1, V2))
# V1 V2 foo
# 1 1 6 66
# 2 2 7 154
# 3 3 8 264
# 4 4 9 396
# 5 5 10 550
这将允许来自本地主机或的 的连接来自以&#34; 192.168.1&#34;开头的IP地址。
如果您不想立即更新配置,还有一个新模块可以让Apache 2.4识别旧语法:
<Directory "/labs/Projects/Nebula/">
Options All
AllowOverride All
<RequireAny>
Require local
Require ip 192.168.1
</RequireAny>
</Directory>
答案 3 :(得分:1)
您可以尝试将“允许从127.0.0 192.168.1 :: 1 localhost”更改为“Allow from all”。 如果这可以解决您的问题,则需要减少对可以从中请求内容的位置的限制
答案 4 :(得分: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范围的访问,例如localhost使用此:
Allow from 127.0.0.0/8
mod_authz_host负责过滤ip范围。你可以在那里查找详细的东西。
但也许这个问题可能与你的“apache2.conf”中的某种错误配置有关。
运行什么操作系统的apache?
答案 5 :(得分:1)
如果你有
Allow from All
在httpd.conf中然后确保我们有
的index.php
如httpd.conf中的以下行
DirectoryIndex index.html index.php
答案 6 :(得分:1)
我使用Vesta CP遇到了这个问题,对我而言,诀窍是删除.htaccess并尝试再次访问任何文件。
这导致了.htaccess文件的重新生成,然后我就能访问我的文件了。
答案 7 :(得分:0)
就我而言,关键是:
AllowOverride All
在vhost定义中。 我希望它有所帮助。
答案 8 :(得分:-3)
此代码对我有用..
<Location />
Allow from all
Order Deny,Allow
</Location>
希望这有助于其他人