我配置了一个带有 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>