Apache 2.4 "..сбой проверки подлинности..: Несоответствие Пароля"

Я запускаю Apache 2.4 В Windows Server 2008 R2. Я пытаюсь защитить подкаталог паролем и успешно сделал это в Apache 2.0. После обновления я принял совет Apache и пытаюсь поместить конфигурацию аутентификации в httpd.конфиг. Я разрешаю чтение файла пароля, и все кажется в порядке, но когда я тестирую его, я получаю следующую ошибку:

[Пн 01 апреля 19:58: 36.438476 2013] [auth_basic: ошибка] [pid 3984:tid 788] [клиент ХХХ.ыыы.254.2: 49253] AH01617: мастер пользователя: ошибка аутентификации для "/restricted/file.zip": несоответствие пароля

однако я знаю, что отправляю правильный пароль. См. ниже для моей конфигурации, любые комментарии полезны.

<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>

2 ответов


У меня была такая же проблема, сводила меня с ума в течение последнего часа. Я могу подтвердить, что предложение Стива ввести пароль в командной строке работает - так что в моем случае "htpasswd-B passwordfile user password" сделал трюк.

здесь соответствующий отчет об ошибке в Apache.


вы создали свой пароль с помощью "htpasswd"?

htpasswd в httpd-2.4.4 сломан (https://issues.apache.org/bugzilla/show_bug.cgi?id=54735).

Как я понимаю, проблема специфична для htpasswd в httpd-2.4.4 и возникает только при вводе пароля вручную, поэтому вы можете обойти проблему, выполнив один из:

  • введите пароль в командной строке (например, " htpasswd-b .помощью пароля через htpasswd пользователя пароль");
  • используйте версию htpasswd из httpd-2.4.3;
  • используйте дайджест-аутентификацию вместо обычной аутентификации (htdigest не влияет);
  • дождитесь выхода httpd-2.4.5;
  • применить исправление в отчете об ошибке (который, кажется, работает) и перестроить htpasswd из источника.