Мне дана настройка, в которой Apache работает в Windows, и у нас есть две папки, для которых требуется базовая аутентификация с помощью .htpasswd.Базовая аутентификация Apache Только SSL
Во-первых, я проверил, что аутентификация работала:
AuthUserFile E:/path-to/.htpasswd
AuthType Basic
AuthName "Secure area"
Require valid-user
Это работало хорошо, но, конечно, не отправлять учетные данные через SSL. Я попытался использовать RewriteRule для отправки любых запросов без HTTPS на HTTPS в любой из этих папок, и это требует от пользователя входа в систему дважды - один раз через HTTP и один раз через HTTPS.
Я нашел множество людей с этой проблемой, и решение, большинство людей используют, как это:
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
Так я это в HTAccess внутри каждой из двух защищенных папок. Это требует от пользователя входа в систему один раз, по HTTPS, как и должно быть, но, конечно же, он не отправляет их в запрошенный файл. Скорее, он отправляет их в корень папки.
Мы часто направляем пользователей к конкретным файлам внутри этих каталогов, и я просто не могу найти что-либо, что будет проверять их с помощью auth over HTTPS при попытке сделать это. Возможно ли это на Apache?
Спасибо, Jonathan