当前位置: 首页 > 知识库问答 >
问题:

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

严烨
2023-03-14

我正在得到

[2012年4月24日星期二 12:12:55][错误][客户端 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>

我想知道出了什么问题,我该如何解决它?

共有3个答案

昝枫
2023-03-14

在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识别旧语法:

sudo a2enmod access_compat
常哲彦
2023-03-14

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

Allow from 127.0.0.1
Allow from ::1
...
谢泉
2023-03-14

Apache 2.4.3(或者更早一些)增加了一个新的安全特性,这个特性经常会导致这个错误。您还会看到“服务器配置拒绝客户端”形式的日志消息。该功能需要授权用户身份才能访问目录。在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>
 类似资料:
  • 当我试图通过浏览器访问localhost时,我遇到了这个错误。 403禁止 我用的是LTS Ubuntu 14.04 以下是我的配置文件: etc/apache2.conf apache日志 我在论坛上遵循的配置出错了 etc/apache2/启用站点/prestashop.conf 我已经添加到apache,我更新了服务,总是同样的错误,我想知道为什么它不工作,也许我想chmod这个网站可以在本

  • 当我试图通过浏览器访问localhost时会出现这个错误。 我使用以下方法检查了网站文件夹权限: 下面是我的配置文件: null

  • 在尝试使用Apache mod\u wsgi运行Flask时,我已经尝试了很多事情,但都非常沮丧。 基本上,我已经完成了以下教程: http://flask.pocoo.org/docs/deploying/mod_wsgi/#installing-mod-wsgihttp://www.lonesomedev.com/?p=169 但在浏览器上,我得到了以下错误: 访问禁止! 您无权访问请求的对象

  • 当我从Apache2的错误日志中按照教程的Postfix admin部分中的指南并试图导航到网站< code > https://mail admin . example . com/setup . PHP (也只是用example.com替换了我的网站名称)时,我得到了这个有名无实的错误消息,因为我得到了一个403禁止。 以下是我在< code > sudo nano/etc/Apache 2/

  • 我正在尝试在windows server 2008 R2上使用Apache 2.4服务器配置Git服务器。 我将它添加到httpd.conf文件中: 我在中创建了一个存储库。我键入以下命令,用远程机器克隆它: 我收到了以下错误: 在我的阿帕奇错误中.log我可以看到这个: 我想知道这是不是因为我没有匿名访问git服务器的权限? 我需要自动创建用户来使用git服务器吗? 这个问题不能帮助我解决我的问

  • 我见过很多这样的问题,其中大多数最终都会将语法更改为最新的Apache版本,或者搞乱.htaccess。但我的情况并非如此,因为我使用了全新的F23安装,而且从未使用过更高级的Apache版本。我正在尝试建立一个简单的虚拟主机,它绑定到我的一个IP。下面是我在/etc/httpd/conf.d/internal.conf中输入的内容 当我尝试: 从该网络中的其他主机,出现第一个 403 页面并重定