Apache 客户端被服务器配置拒绝
我尝试将Kohana3项目设置为虚拟主机 配置: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
<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>