我已经有一段时间没有使用Apache httpd web服务器了。我正在为一个项目启动一个本地服务器,当我尝试请求localhost/index.html时,我得到了一个500错误,并且我在错误日志中看到了以下内容:
[Tue Jan 21 09:23:58 2014] [crit] [client ::1] configuration error: couldn't perform authentication. AuthType not set!: /index.html
[Tue Jan 21 09:23:58 2014] [error] an unknown filter was not added: DEFLATE
[Tue Jan 21 09:23:58 2014] [crit] [client ::1] configuration error: couldn't perform authentication. AuthType not set!: /favicon.ico
看起来在apache config中可能有2个错误,其中一个与"AuthType未设置!“可能还有一个与“未添加过滤器: DEFLATE”相关的问题。我不知道这些意味着什么,也不知道从哪里开始挖掘。
一个基本的谷歌搜索显示this link,这表明罪魁祸首可能是“要求所有授权”。可能涉及到我的httpd.conf中的这一行。
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
这个apache配置主要用于这个项目的生产环境中,所以我知道它是有效的,只是目前不能在我的工作站上使用。这意味着什么,我下一步应该尝试什么?我确实尝试过注释掉"Require all granted“并重新启动apache,但都无济于事。
在this SO question之后,我还加载了mod_authz_host
LoadModule authz_host_module modules/mod_authz_host.so
并添加了"Allow from all",重新启动了服务器。但这个问题仍然存在。通缩问题似乎是无关的,可以通过添加
LoadModule deflate_module modules/mod_deflate.so
问题仍然存在,我如何解决这个500错误?
[Tue Jan 21 09:44:20 2014] [crit] [client ::1]
configuration error: couldn't perform authentication.
AuthType not set!: /index.html
发布于 2014-02-26 19:37:06
删除下面这行:
Require all granted
只有在Apache >=2.4上才需要它。
发布于 2014-03-05 02:40:49
这里的问题可以用另一种方式表述:如何创建在Apache2.2和2.4中都有效的配置?
Require all granted
只有2.4版本,但Allow all ...
在2.4版本中停止工作,我们希望能够推出在这两个版本中都能工作的配置。
我找到的唯一的解决方案,我不确定是正确的,是使用:
# backwards compatibility with apache 2.2
Order allow,deny
Allow from all
# forward compatibility with apache 2.4
Require all granted
Satisfy Any
这应该会解决你的问题,或者至少对我来说是这样。现在,如果你有更复杂的访问规则,这个问题可能更难解决……
另请参见this fairly similar question。Debian wiki也有useful instructions for supporting both 2.2 and 2.4。
发布于 2014-09-25 10:56:08
或者,此解决方案既适用于Apache2 2.4版,也适用于>= 2.4版。请确保启用了"version“模块:
a2enmod version
然后使用下面的代码:
<IfVersion < 2.4>
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
https://stackoverflow.com/questions/21265191
复制相似问题