Windows で Apache を実行するセットアップが与えられており、.htpasswd による基本認証が必要な 2 つのフォルダーがあります。
まず、認証が機能することをテストしました。
AuthUserFile E:/path-to/.htpasswd
AuthType Basic
AuthName "Secure area"
Require valid-user
これはうまく機能しましたが、もちろん SSL 経由で資格情報を送信しませんでした。RewriteRule を使用して、これらのフォルダーのいずれかで HTTPS を使用しない要求を HTTPS に送信しようとしましたが、これにはユーザーが 2 回ログインする必要があります。
この問題を抱えている人はたくさんいますが、ほとんどの人が使用している解決策は次のとおりです。
SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq "www.domain.com"
AuthUserFile E:/path-to/.htpasswd
AuthName "Secure area"
AuthType basic
require valid-user
ErrorDocument 403 https://www.domain.com/secure-area
そこで、これを 2 つのセキュア フォルダーのそれぞれの htaccess に入れました。これには、ユーザーが必要に応じて HTTPS 経由で 1 回ログインする必要がありますが、もちろん、ユーザーが要求したファイルには送信されません。代わりに、フォルダーのルートに送信します。
これらのディレクトリ内の特定のファイルにユーザーを誘導することがよくありますが、これを行おうとすると、HTTPS を介した基本認証でユーザーを認証するものを見つけることができません。これはApacheで可能ですか?
ありがとう、ジョナサン