![在 .htpasswd 之前强制使用 apache 的 https](https://linux22.com/image/514786/%E5%9C%A8%20.htpasswd%20%E4%B9%8B%E5%89%8D%E5%BC%BA%E5%88%B6%E4%BD%BF%E7%94%A8%20apache%20%E7%9A%84%20https.png)
我的 .htaccess 文件中有这个
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.myweb.com/phpmyadmin$1 [R,L]
AuthUserFile /var/www/myweb/.htpasswd
AuthGroupFile /dev/null
AuthName "Sovereign Databases"
AuthType Basic
<Limit GET>
require valid-user
</Limit>
但每次我去http://www.myweb.com/phpmyadmin,.htpasswd 在我被重定向到之前提示我输入凭证https://www.myweb.com/phpmyadmin。输入用户名和密码后,我被重定向到https://www.myweb.com/phpmyadmin问题是我不希望任何人通过 http 提交未加密的用户名和密码。
即使人们输入的是 http 版本,我如何强制他们通过 https 版本登录?
答案1
将Auth
语句移到一个<VirtualHost *:443>
块中。
(其他人可能有更优雅和更好的答案)。