在 .htpasswd 之前强制使用 apache 的 https

在 .htpasswd 之前强制使用 apache 的 https

我的 .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>块中。

(其他人可能有更优雅和更好的答案)。

相关内容