在 .htpasswd 之前用 apache 强制 https

Joh*_*ohn 4 ssl .htaccess .htpasswd

我的 .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>
Run Code Online (Sandbox Code Playgroud)

但是每次我访问http://www.myweb.com/phpmyadmin 时,.htpasswd 都会在我重定向到https://www.myweb.com/phpmyadmin之前提示我输入凭据。输入用户名和密码后,我被重定向到https://www.myweb.com/phpmyadmin。问题是我不希望任何人通过 http 提交未加密的用户名和密码。

即使他们输入了 http 版本,我如何强制人们通过 https 版本登录?

Chr*_*s S 5

Auth语句移动到<VirtualHost *:443>块中。

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