Apache-2.2
AH00027:從 Apache 2.2 升級到 2.4 後沒有驗證完成錯誤
我最近將 Cent 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>
我不確定問題可能是什麼,我真的很感激這裡的一些幫助。
我不熟悉 Cent OS 預設目錄結構,但你會想要遵循這樣的:
<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.4 身份驗證指令。新舊混用不是一個好主意。如文件中所述,可能會出現“不可預測的”結果。
您需要允許 apache 讀取訪問權限;
<Directory /> Options FollowSymLinks AllowOverride All Require all granted </Directory>
應該管用