Назад | Перейти на главную страницу

Как сделать дайджест-аутентификацию в Apache?

У меня есть сервер 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.