【问题标题】:Apache 2.4 "..authentication failure..:Password Mismatch"Apache 2.4“..身份验证失败..:密码不匹配”
【发布时间】:2013-04-01 20:26:25
【问题描述】:

我在 Windows Server 2008 R2 中运行 Apache 2.4。我正在尝试对子目录进行密码保护,并在 Apache 2.0 中成功地做到了这一点。升级后,我接受了 Apache 的建议,并尝试将身份验证配置放在 httpd.config 中。我允许读取密码文件,一切似乎都井井有条,但是当我测试它时,我收到以下错误:

[Mon Apr 01 19:58:36.438476 2013] [auth_basic:error] [pid 3984:tid 788] [client xxx.yyy.254.2:49253] AH01617: user master: "/restricted/file. zip": 密码不匹配

但是,我知道我正在发送正确的密码。请参阅下面的配置,任何 cmets 都有帮助。

<Directory "C:/www/mydir/restricted">
    #AllowOverride AuthConfig
    #Order allow,deny
    #Allow from all
    AuthType Basic
    AuthName Restricted
    AuthUserFile "C:/www/mydir/passwords/pass"
    Require valid-user
</Directory>  
<Directory "C:/www/mydir">
    Require all granted
</Directory>  
<VirtualHost *:80>
    ServerAdmin admin@.com
    DocumentRoot "C:/www/mydir"
    ServerName "fakeurl.com"
    ErrorLog "C:/www/mydir/logs/error.log"
    CustomLog "C:/www/mydir/logs/accesslog/access.log" common
</VirtualHost>  
<VirtualHost *:80>
    ServerAdmin admin@.com
    DocumentRoot "C:/www/mydir"
    ServerName "www.fakeurl.com"
    ErrorLog "C:/www/mydir/logs/error.log"
    CustomLog "C:/www/mydir/logs/accesslog/access.log" common
</VirtualHost>

【问题讨论】:

    标签: apache .htaccess authentication .htpasswd


    【解决方案1】:

    我刚刚遇到了同样的问题,在过去的一个小时里让我发疯。我可以确认史蒂夫建议在命令行中输入密码有效 - 所以在我的例子中,“htpasswd -b passwordfile 用户密码”成功了。

    Here 是 Apache 的相关错误报告。

    【讨论】:

    • 与其重复答案,不如简单地投票或评论史蒂夫的答案。
    • @NickM 我同意,评论会更合适。不幸的是,当时我没有足够的信用在 StackOverflow 中发表评论,我觉得添加对我有用的实际命令和错误报告的链接会很好。
    【解决方案2】:

    您是否使用“htpasswd”创建了密码?

    httpd-2.4.4 中的 htpasswd 已损坏 (https://issues.apache.org/bugzilla/show_bug.cgi?id=54735)。

    据我了解,该问题特定于 httpd-2.4.4 中的 htpasswd,并且仅在您手动输入密码时才会出现,因此您可以通过以下方式之一解决该问题:

    • 在命令行提供密码(例如“htpasswd -b .htpasswd 用户密码”);
    • 使用httpd-2.4.3以外的htpasswd版本;
    • 使用摘要式身份验证而不是基本身份验证(htdigest 不受影响);
    • 等到httpd-2.4.5发布;
    • 应用错误报告中的补丁(似乎有效)并从源代码重建 htpasswd。

    【讨论】:

    • 谢谢 - 这让我发疯了一个小时。在如此成熟的应用程序中,像这样的简单回归是不可原谅的。 :-(
    • 我花了很长时间才考虑用谷歌搜索这个可能的问题,因为我的想法和@AndyLeeRobinson 一样,“在如此成熟的应用程序中像这样的简单回归是不可原谅的”
    【解决方案3】:

    如果您使用Shibboleth,则 mod_shib 和基本身份验证之间存在冲突。您可以使用以下 Apache 指令来解决它:

    ShibCompatValidUser On
    

    详情见Shibboleth on Apache 2.4 Using Mixed Authentication Methods

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多