首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Apache:客户端被服务器配置拒绝

Apache:客户端被服务器配置拒绝
EN

Stack Overflow用户
提问于 2012-04-27 21:06:24
回答 9查看 205.6K关注 0票数 151

我得到了

Tue Apr 24 12:12:55 2012 client 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>

我想知道问题出在哪里,我该如何解决它?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-05-04 11:18:08

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

Allow from 127.0.0.1
Allow from ::1
...
票数 10
EN

Stack Overflow用户

发布于 2012-12-18 06:46:57

Apache2.4.3(或更早的版本)添加了一个新的安全特性,该特性通常会导致此错误。您还会看到一条日志消息,格式为"client denied by server configuration“。该功能需要授权用户身份才能访问目录。默认情况下,它在Apache附带的httpd.conf中处于打开状态。您可以使用以下指令查看该功能的启用

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>
票数 400
EN

Stack Overflow用户

发布于 2015-05-20 16:36:50

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

然后,您需要的内容如下所示:

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

这将允许来自本地主机或来自以"192.168.1“开头的ip地址的连接。

如果你不想立即更新你的配置,还有一个新的模块可以让Apache2.4识别旧的语法:

sudo a2enmod access_compat
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10351167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档