尽管有权限和服务器设置,Apache 2.4 服务器仍出现 403 错误
Apache 2.4 server 403 error despite permissions and server settings
我在 Ubuntu 20.04.3 LTS 上有一个本地主机 Apache 2.4 服务器 运行,DocumentRoot 在 var/www/html。如果我尝试访问 localhost/www/(包含 Nette index.php 文件)以外的任何内容,我会收到 403 Forbidden 错误。
现在,这个问题很常见,我发现了很多与之相关的问题(展示A, B, C, D, E)。但是,在这种情况下:
- 服务器从未见过Apache 2.2;这是 2.4 的全新安装。
- 我已经尝试重新启动服务器和整台计算机。我什至尝试通过
apt
. 重新安装 apache2
- var/www/html/ 中的所有文件和目录都有 755 权限。我已经使用
ls -l
. 对受影响的文件进行了验证
- etc/apache2/sites-available/000-default.conf 中的 DocumentRoot 和 default-ssl.conf 设置为 var/www/html.
- 在etc/apache2/apache.conf中,有这样的目录配置:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Apache 错误日志显示:
AH01630: client denied by server configuration: /var/www/html/debug/adminer-4.8.1.php
我不知道还有什么可能导致这种情况。有什么我忽略的吗?
我忽略了一个带有“Require all denied”的 .htaccess
文件。删除此文件(或者,实际上,更改文件夹结构以使其拒绝合理的事情)解决了该问题。
我在 Ubuntu 20.04.3 LTS 上有一个本地主机 Apache 2.4 服务器 运行,DocumentRoot 在 var/www/html。如果我尝试访问 localhost/www/(包含 Nette index.php 文件)以外的任何内容,我会收到 403 Forbidden 错误。
现在,这个问题很常见,我发现了很多与之相关的问题(展示A, B, C, D, E)。但是,在这种情况下:
- 服务器从未见过Apache 2.2;这是 2.4 的全新安装。
- 我已经尝试重新启动服务器和整台计算机。我什至尝试通过
apt
. 重新安装 apache2
- var/www/html/ 中的所有文件和目录都有 755 权限。我已经使用
ls -l
. 对受影响的文件进行了验证
- etc/apache2/sites-available/000-default.conf 中的 DocumentRoot 和 default-ssl.conf 设置为 var/www/html.
- 在etc/apache2/apache.conf中,有这样的目录配置:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Apache 错误日志显示:
AH01630: client denied by server configuration: /var/www/html/debug/adminer-4.8.1.php
我不知道还有什么可能导致这种情况。有什么我忽略的吗?
我忽略了一个带有“Require all denied”的 .htaccess
文件。删除此文件(或者,实际上,更改文件夹结构以使其拒绝合理的事情)解决了该问题。