У меня есть сервер apache2, работающий на Ubuntu. Я новичок в Apache, так что простите, что говорю нелогичное.
У меня работает базовая аутентификация, поэтому я подумал, что просто скопирую директивы для дайджест-аутентификации, но я предполагаю, что здесь я ошибаюсь.
<Directory /home/mark/.www/secret>
<Files file1>
AuthType Basic
AuthName "Secret"
AuthUserFile "/etc/apache2/conf-available/.htpasswd"
Require valid-user
</Files>
<Files file2>
AuthType Digest
AuthName "Secret"
AuthUserFile "/etc/apache2/conf-available/.htpasswd"
Require valid-user bob
</Files>
</Directory>
В / etc / apache2 / mods-enabled auth_basic.load уже был там как символическая ссылка на / etc / apache2 / mods-available
Поэтому я создал символическую ссылку на auth_digest.
Однако при загрузке file2 я все еще получаю ошибку 401 (да, я перезагружаю сервер при внесении изменений).
И file1, и file2 имеют права доступа 644 и, как я уже сказал, file1 успешно загружается с базовой аутентификацией.
Любая помощь будет оценена по достоинству!
Вы используете один и тот же файл паролей для обоих методов аутентификации, но им нужны файлы паролей в разных форматах.
Файлы паролей для метода дайджеста могут быть созданы с помощью htdigest
и содержать имя области.
cat .htpasswd.digest
sven:test:89bf07ca6d68de56df750411b4d41658
cat .htpasswd
sven:$apr1$is4DJFgn$SNilHKs4CqblmS0GsBiFu0
Замечание: я бы предложил использовать Basic Auth вместо Digest, но только через безопасное соединение TLS.