Apache Forbidden:httpd.conf或文件权限

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

被禁止

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

是否有任何方法(或将会)告诉我为什么 Apache拒绝访问? ( httpd.conf本地规则,文件权限等

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

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

根据你的环境,你的确切path和命名可能会有所不同,但你应该得到日志,告诉你你在找什么。

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

[Tue Oct 22 18:04:45 2013] [错误] [客户端xxxx]用户bob:“/ twiki / bin / view”的身份validation失败:密码不匹配

我继续尝试从浏览器访问更高级别的目录,导致典型的“禁止”错误。 这是日志中显示的内容:

[Wed Oct 23 20:47:11 2013] [错误] [客户端xxxx]尝试调用目录为脚本:/ var / www / twiki / bin /

日志的输出将帮助您识别您的问题。 假设你的内容在/ var / www / mystuff / blah /中,但是你的错误日志说你试图访问一个你期望工作的URL实际上是在寻找/ var / www / mycrap / meh,你也许可以推断你在conf文件中有一个别名错误。

尝试访问configuration为通过https://而不是普通http://传递其内容的服务器也会导致此问题。

所以只使用http://的页面请求将被拒绝为Forbidden。

通常情况下,网站pipe理员会在configuration中join一个redirect,将所有http调用转移到https(减轻访问者的思考)。

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