Apache 没有弹出 htpasswd 身份验证

Apache 没有弹出 htpasswd 身份验证

在过去的一个小时里,我一直在为 htaccess 文件的问题而烦恼。

所以我想要的是:我有一个位于http://myip.com/FOLDER我想要一个通过 htaccess 实现的简单身份验证页面

所以我做了以下事情:

sudo htpasswd -c /home/daniel/.htpasswd 丹尼尔

请注意,我是一个纯粹的初学者,我一直在遵循指南。无论如何,我认为用该命令我将我的 htpasswd 文件存储在我的主文件夹中。

输入 pw blablabla 等,到目前为止有效 ^^。

我还创建了一个 ssl vhost:

我的内容:文件:/etc/apache2/sites-available/default-ssl

<Location /myfolder>
AuthName "Private"
AuthType Basic
AuthBasicProvider file
AuthUserFile /home/daniel/.htpasswd
Require valid-user
</Location>

ServerName XYZX:443
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

默认:ServerName 我的地址 永久重定向/我的地址

我获得了 SSL 和其他信息,但却没有获得身份验证页面

apache2 已重新启动,但我始终无法获得身份验证页面 :(

非常感谢帮助

谢谢

答案1

您已在default-ssl配置文件中设置了身份验证,因此它仅适用于该https站点。

关于您的评论,看来身份验证的https://myip.com/myfolder工作正如预期的那样。

现在,根据我的理解,您似乎想要相同的行为http://myip.com/myfolder

如果是这种情况,我建议将相同的<Location>配置放入文件中/etc/apache2/sites-available/default


编辑

好的,您应该尝试<location>像这样设置/etc/apache2/sites-enabled/000-default

<Location /myfolder>
    Order allow,deny
    Allow from all
    AuthName "Private"
    AuthType Basic
    AuthBasicProvider file
    AuthUserFile /home/daniel/.htpasswd
    Require valid-user
</Location>

答案2

尝试将配置放在.htaccess您想要保护的同一文件夹中的文件中:

AuthName "Private"
AuthType Basic
AuthBasicProvider file
AuthUserFile /home/daniel/.htpasswd
Require valid-user

答案3

您没有<Virtualhost>在 /etc/apache2/sites-available/default-ssl 中显示任何封闭指令,但假设有一个,那就是一个仅支持 HTTPS 的主机。身份验证工作也是如此https://myip.com/myfolder

相关内容