Я хочу защитить каталог паролем. Я запускаю Apache 2 с cPanel на Centos.
Для этой публикации каталог /home/user/my-secret-dir
Я использовал cPanel «Каталоги защиты паролем» для создания данных для входа, которые он сохранил в новом /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
Теперь это заставляет браузер запрашивать данные для входа, но после ввода правильного имени пользователя и пароля он ведет себя так, как если бы они были неправильными, и запрашивает данные повторно.
Детали, которые я ввожу, определенно верны.
Ранее я устанавливал защищенный паролем каталог на этом же сервере (хотя и для другой учетной записи / домена), и он работал нормально (и все еще работает), я сравнил их и не увидел каких-либо существенных различий.
Есть идеи, что может вызывать постоянные запросы, и как я могу это исправить?
Это была проблема с разрешениями - Apache не мог получить доступ к файлу аутентификации, поэтому считал все недействительным.
Проверка обнаруженных журналов:
(13) В доступе отказано: не удалось открыть файл паролей: /home/user/.htpasswds/my-secret-dir/passwd
Оказывается /home/user/.htpasswds
каталог существовал раньше и имел неверные права доступа к нему.
Я обновил разрешения, чтобы Apache мог получить к нему доступ, а затем вход в систему работал должным образом.