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

Apache 客户端被服务器配置拒绝,apache,kohana-3,virtualhost,Apache,Kohana 3,Virtualhost,我尝试将Kohana3项目设置为虚拟主机 配置: <VirtualHost *:80> DocumentRoot "D:/Devel/matysart/matysart_dev1" ServerName matysart-one.local ServerAlias www.matysart-one.local DirectoryIndex index.php </VirtualHost> DocumentRoot“D:/Devel/matysart/m

我尝试将Kohana3项目设置为虚拟主机

配置:

<VirtualHost *:80>
  DocumentRoot "D:/Devel/matysart/matysart_dev1"
  ServerName matysart-one.local
  ServerAlias www.matysart-one.local
  DirectoryIndex index.php
</VirtualHost>

DocumentRoot“D:/Devel/matysart/matysart\u dev1”
ServerName matysart-one.local
ServerAlias www.matysart-one.local
DirectoryIndex.php
错误(403):

[客户端127.0.0.1]服务器配置拒绝客户端: D:/Devel/matysart/matysart\u dev1/

有人能帮忙吗?

错误“客户端被服务器配置拒绝”通常意味着配置中的某个地方有禁止访问的
Allow from
Deny from
指令。有关更多详细信息,请阅读文档

您应该能够在VirtualHost中通过添加以下内容来解决此问题:

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

对Apache配置文件的一些调查可能会发现默认DocumentRoot上的默认限制。

在我的例子中,我修改了目录标记

来自

<Directory "D:/Devel/matysart/matysart_dev1">
  Allow from all
  Order Deny,Allow
</Directory>

通融
命令拒绝,允许

<Directory "D:/Devel/matysart/matysart_dev1">
  Require local
</Directory>

要求本地

它确实起了作用。Apache 2.4.2似乎改变了这一点。

对我来说,以下是从
/etc/apache2/apache2.conf
中的示例复制的:

<Directory /srv/www/default>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

选项索引跟随符号链接
不允许超限
要求所有授权
Require all grated
选项是Apache 2.4+版专用于此问题的页面中第一个问题示例的解决方案

有关Require选项的更多详细信息,请参见和。即:

要求所有已授予->无条件允许访问


在从Apache2.2迁移时,这种情况已经发生过好几次了

我发现有一个命令,否认我错过了VIM的搜索功能,这是默认的主Vhost,第379行。希望这对别人有帮助。我评论了所有人的拒绝、允许和拒绝命令,结果成功了

这对我很管用

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

通融
命令拒绝,允许
我已经在我的/etc/apache2/apache2.conf中包含了这段代码

我正在使用macOS Mojave(Apache/2.4.34)。/etc/apache2/extra/httpd-vhosts.conf文件中的虚拟主机设置存在问题。添加所需的目录标记后,我的问题消失了

要求所有授权

希望完整的虚拟主机安装结构将为您节省时间

<VirtualHost *:80>
    DocumentRoot "/Users/vagabond/Sites/MainProjectFolderName/public/"
    ServerName project.loc

    <Directory /Users/vagabond/Sites/MainProjectFolderName/public/>
        Require all granted
    </Directory>

    ErrorLog "/Users/vagabond/Sites/logs/MainProjectFolderName.loc-error_log"
    CustomLog "/Users/vagabond/Sites/logs/MainProjectFolderName.loc-access_log" common
</VirtualHost>

DocumentRoot“/Users/vagabond/Sites/MainProjectFolderName/public/”
ServerName project.loc
要求所有授权
ErrorLog“/Users/vagabond/Sites/logs/MainProjectFolderName.loc-error\u log”
CustomLog“/Users/vagabond/Sites/logs/MainProjectFolderName.loc-access\u log”通用

您只需将MainProjectFolderName替换为准确的ProjectFolderName即可。

我的服务器具有正确的主机和IP列表。没有一个
允许所有的
东西。我的修复方法是将新工作站的主机名放入列表中。因此,建议如下:

确保您使用的计算机确实在允许的IP列表中。从日志消息中查看IP,解析名称,检查
ifconfig
/
ipconfig


*由于出现错误消息,谷歌向我发送了邮件。

谢谢。我对我的开发服务器做了一个小的升级,我的项目失败了。“需要本地”为我创造了奇迹:)干杯!在玩了一个小时的Deny之后,Allow-Require-local是一个救命稻草,它不是一个bug。这是一个特色。我发现在那里,我有一个更好的体验,那就是“允许所有人都要求”,这是升级到Apache2.4的必要步骤。请参阅,只有在以下情况下才会发生此错误:客户端地址与127.0.0.0/8匹配,或者客户端地址为::1,或者连接的客户端和服务器地址相同。这是Apache2.4中添加的一个新特性。简而言之,如果要在本地主机上测试此功能,请确保设置了此标志“Require local”。但是,您的生产服务器不需要它,以下工作可能与我的重复,这些工作是从
/etc/apache2/apache2.conf
中的示例复制的:`Options index FollowSymLinks AllowOverride None Require all approved`对我来说是
Require all当然
可以。这在我的本地安装/home/userx/Development/site上有效
<VirtualHost *:80>
    DocumentRoot "/Users/vagabond/Sites/MainProjectFolderName/public/"
    ServerName project.loc

    <Directory /Users/vagabond/Sites/MainProjectFolderName/public/>
        Require all granted
    </Directory>

    ErrorLog "/Users/vagabond/Sites/logs/MainProjectFolderName.loc-error_log"
    CustomLog "/Users/vagabond/Sites/logs/MainProjectFolderName.loc-access_log" common
</VirtualHost>