Apache htaccess passwd - игнорирование правильного входа

Я хочу защитить паролем каталог. Я использую Apache 2 с cPanel на Centos.

Ради этого поста каталог /home/user/my-secret-dir

Я использовал cPanel "Password Protect Directories", чтобы создать данные для входа, которые он сохранил в новом /home/user/.htpasswds/my-secret-dir/passwd файл.

Чего он не делал, так это создания конфигурации AuthType в любом месте - я мог бы просто получить доступ к каталогу без запросов (он просто получил общий index.html, пока я работал).

Итак, я создал /home/user/my-secret-dir/.htaccess я со следующим содержанием:

AuthType Basic
AuthName "My Secret Directory"
AuthUserFile "/home/user/.htpasswds/my-secret-dir/passwd"
require valid-user

Это теперь заставляет браузер запрашивать данные для входа в систему, но после ввода правильного имени пользователя и пароля он ведет себя так, как если бы они были неверны, и повторно запрашивает данные.

Детали, которые я ввожу, точно верны.

Ранее я настраивал защищенный паролем каталог на этом же сервере (хотя и для другой учетной записи / домена), и он работал нормально (и все еще работает), и я сравнил их и не вижу значительных отличий.

Любые идеи, что может быть причиной постоянных подсказок, и как я могу это исправить?

1 ответ

Решение

Это была проблема с разрешениями - Apache не смог получить доступ к файлу аутентификации, поэтому рассматривал все как недействительные.

Проверка логов показала:

(13) В доступе отказано: не удалось открыть файл паролей: /home/user/.htpasswds/my-secret-dir/passwd

Оказывается /home/user/.htpasswds каталог существовал до сих пор и имел неправильные разрешения на него.

Я обновил разрешения, чтобы Apache смог получить к нему доступ, и затем вход в систему работал, как и ожидалось.

Другие вопросы по тегам