当我试图通过浏览器访问localhost时,我得到这个错误。

AH01630: client denied by server configuration

我检查了我的网站文件夹权限使用:

sudo chmod 777 -R *

这是我的配置文件:

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /home/user-name/www/myproject
<Directory />
    Options FollowSymLinks
    AllowOverride all
    Allow from all
</Directory>

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

<Directory  /home/user-name/www/myproject/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride all
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride all
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>


当前回答

实际上,我通过向:80条目添加目录访问来解决这个问题。

 <Directory "c:/whatever-directory-you-use/">
    AllowOverride All
    Require all granted
</Directory>

在所有人都对我“安全”之前,在我的特定情况下,这不是一个安全问题。

如果您正在使用远程资源,我建议确保您的CURL请求通过HTTPS / TLS传输,然后这个目录条目将在443端口上传输。

其他回答

如果跟踪错误日志并重新加载页面,应该会看到有关确切问题的更多信息。

获取环境变量,这样${APACHE_LOG_DIR}将实际工作…

source /etc/apache2/envvars

然后跟在后面看着……

tail -f ${APACHE_LOG_DIR}/error.log

对于所有目录,写入“要求所有授予”,而不是“允许从所有”

更新

如果上面的不工作,然后也删除下面提到的行:

为了允许,拒绝

实际上,我通过向:80条目添加目录访问来解决这个问题。

 <Directory "c:/whatever-directory-you-use/">
    AllowOverride All
    Require all granted
</Directory>

在所有人都对我“安全”之前,在我的特定情况下,这不是一个安全问题。

如果您正在使用远程资源,我建议确保您的CURL请求通过HTTPS / TLS传输,然后这个目录条目将在443端口上传输。

对我来说,我实际上已经根据2.4标准更新了允许和拒绝规则。

Require all granted

然而,这仍然导致我收到相同的AH01630错误。我找到了另一个线程,它建议重新安装apache2。不知何故,这奏效了!如果有人愿意解释一下,我会很有帮助的。

信用:AH01630:客户端被服务器配置拒绝,但要求设置所有授予(Apache 2.4, CentOs)

就我而言,

我使用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>

你所要做的就是用你确切的ProjectFolderName替换MainProjectFolderName。