Apache 2.4 http auth 不提示输入凭据

Apache 2.4 http auth 不提示输入凭据

我配置了一个带有 http 身份验证的 vhost。

服务器管理员[电子邮件保护] 服务器名称 www.example.com 文档根目录 /home/webmaster/www.example.com/

    <Directory "/home/webmaster/www.example.com/">
            Options -Indexes +FollowSymLinks -MultiViews
            AllowOverride All
            Require all granted

            DirectoryIndex index.html, index.php

           AuthType Basic
           AuthName "www.example.com"
           AuthUserFile "/home/webmaster/.htpasswd"
           Require valid-user

    </Directory>


    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/www.example.com-access.log combined
    ErrorLog /var/log/apache2/www.example.com-error.log

/home/webmaster/.htpasswd 文件是使用 htpasswd 命令创建的:

htpasswd -c /home/webmaster/.htpasswd john

但 Apache 不会提示输入凭据,因此用户可以不受限制地浏览网站。Apache error.log 文件中没有错误,www.example.com-error.log 文件中也没有错误。

有什么建议吗?非常感谢

皮耶罗

答案1

您需要一个 RequireAll 语句。

<directory ...>
...
  <RequireAll>
    Require all granted
    Require valid-user
  </RequireAll>
</directory>

查看关于 apache auth 的文章

相关内容