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 смог получить к нему доступ, и затем вход в систему работал, как и ожидалось.