在过去的一个小时里,我一直在为 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?