AH00027:从Apache 2.2升级到2.4后没有validation完成错误

我最近更新在OS OS 7上的Apache从2.2到2.4,更新后,我无法访问根文件夹,

我得到以下错误:

[Fri Apr 29 16:30:19.977037 2016] [core:error] [pid 32095] [client 10.211.55.1:44429] AH00027: No authentication done but request not allowed without authentication for /. Authentication not configured? 

正如在授权部分中提到的,您仍然可以使用旧指令Order,Allow,Deny和Satisfy通过加载模块(我明显加载):

 LoadModule access_compat_module modules/mod_access_compat.so 

我的目录指令如下:

 <Directory /> Options FollowSymLinks AllowOverride All </Directory> 

我不确定这个问题会是什么,我真的很感谢这里的一些帮助。

我不熟悉分区操作系统的默认目录结构,但你会想要按照这样的东西:

  <Directory /> Require all denied AllowOverride None Options None </Directory> <Directory /PATH ON SERVER TO YOUR DOCUMENT ROOT> Require all granted AllowOverride All Options FollowSymLinks </Directory> 

要使用Apache 2.4指令,您将需要加载mod_authz_core

  LoadModule authz_core_module modules/mod_authz_core.so 

如果您没有其他旧的(即Order,Allow,Deny和Satisfy)访问控制指令,则注释掉access_compat模块:

  #LoadModule access_compat_module modules/mod_access_compat.so 

如果您确实有旧的2.2访问控制的其他实例,请尽可能使用Apache 2.4 Require指令或类似的Apache 2.4authentication指令进行更新。 把旧的和新的混合在一起不是一个好主意。 正如文件中指出的那样,可能会出现“不可预知”的结果。

你需要允许apache读取权限;

  <Directory /> Options FollowSymLinks AllowOverride All Require all granted </Directory> 

应该pipe用

对于截获相同问题的人来说,我的解决scheme是在httpd.conf文件中添加以下行:

 LoadModule authn_core_module modules/mod_authn_core.so