Apache 禁止:httpd.conf 或文件权限

Apache 禁止:httpd.conf 或文件权限

当设置 Apache 虚拟主机时,我尝试访问网站时偶尔会出现以下错误。

禁止

您无权访问此服务器上的/。

有什么方法(或工具可以)告诉我为什么Apache 拒绝访问?(中的本地规则httpd.conf、文件权限等。

我并不是在寻求有关特定配置的帮助,而是在寻找一种方法让计算机告诉我系统和/或配置出了什么问题。

答案1

Apache 应该会生成一个日志文件,帮助您进行故障排除。在 Debian 系统上,它位于“/var/log/apache2”目录中。您的配置文件中将包含日志文件的位置。在 Debian 中,它位于“/etc/apache2/sites-available/default”。

答案2

根据您的环境,您的确切路径和命名可能会有所不同,但您应该会收到告诉您正在寻找的内容的日志。

例如,在我的环境中,我有 /var/log/httpd/ssl_error_log。此日志包含如下条目:

[2013 年 10 月 22 日星期二 18:04:45] [错误] [客户端 xxxx] 用户 bob:“/twiki/bin/view”身份验证失败:密码不匹配

我继续尝试从浏览器访问更高级别的目录,结果出现了典型的“禁止访问”错误。日志中显示的内容如下:

[2013 年 10 月 23 日星期三 20:47:11] [错误] [客户端 xxxx] 尝试以脚本形式调用目录:/var/www/twiki/bin/

日志的输出将帮助您识别问题。假设您的内容位于 /var/www/mystuff/blah/,但您的错误日志表明您尝试访问预期有效的 URL 时实际上是在寻找 /var/www/mycrap/meh,您可能能够推断出您在 conf 文件中遇到了别名错误。

答案3

尝试访问配置为通过 https:// 而不是普通 http:// 传递其内容的服务器也会导致这种情况。

因此,仅使用 http:// 的页面请求将被拒绝,并被视为禁止。

通常,网站管理员会在配置中添加重定向,将所有 http 调用转移到 https(让访问者不再考虑这一点)。

答案4

将选项设置为:选项索引FollowSymLinks在httpd.conf中包含ExecCGI。

相关内容