阿帕奇仅当使用 HTTPS

阿帕奇仅当使用 HTTPS

我想仅在使用 HTTPS 时使用基本身份验证。如果使用这样的 .htaccess,用户必须输入两次密码

RewriteEngine On
RewriteOptions Inherit

# Rewrite to HTTPS (except for let's encrypt)
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/.*$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

<RequireAny>
    AuthType Basic
    AuthName "Top Secret"
    AuthUserFile /is/htdocs/***/.htpasswd
    Require valid-user
</RequireAny>

使用这个文件:

我如何才能避免此处对“http://mysite.domain”进行身份验证?

答案1

找到了,使用 REQUEST_SCHEME。

<If "%{REQUEST_SCHEME} == 'https'">
    <RequireAny>
        AuthType Basic
        AuthName "Top Secret"
        AuthUserFile /is/htdocs/***/.htpasswd
        Require valid-user
    </RequireAny>
</If>

相关内容