我试图让 Apache 2.4.10 按照文件中指定的方式执行基本身份验证(在 HTTPS 下).htaccess
。我将一个目录的设置更改为AllowOverride all
,但它开始只提供普通的 500 页。将该目录恢复为AllowOverride none
似乎没有解决问题。
我在日志中发现的错误似乎都是将请求的相对 URL 解释为授权用户名,然后发出嘎嘎声:
[2016 年 6 月 22 日星期三 20:34:00.565683] [core:crit] [pid 24994] [客户端 ____:51295] AH00025:配置错误:无法检查用户:/writing/icons/rublev_trinity_icon.gif,引荐来源:____
AH00025 是什么意思?我发现了一些页面https://httpd.apache.org/docs/trunk/upgrading.html,但没有明确定义错误代码。
我想要什么 /etc/apache2/mods-enabled/auth* 文件?
答案1
请加载该模块,它将解决您的问题;
LoadModule authz_core_module modules/mod_authz_core.so
答案2
我使用下一个配置在我的服务器中修复了这个问题:
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authn_core_module modules/mod_authn_core.so
ServerRoot <ServerRoot>
DocumentRoot <DocumentRoot>
<Directory "/">
AuthType None
Require all granted
</Directory>
对此的解释是,模块 authn 和 authz 是执行身份验证过程的主要模块,authn 加载指令以重定向到某些身份验证模块或过程,例如用户等,而 authz 加载指令以根据身份验证模块的结果拒绝或不拒绝,因此,如果将 AuthType 设置为 None,则表示您使用 authn 模块的指令,该指令使服务器不使用任何身份验证模块,并且通过执行“要求全部授予”,您接受任何条件来提供文件或任何您想做的事情。
抱歉我的英语不好,这不是我的母语XD