Мне дали настройку, в которой Apache работает под Windows, и у нас есть две папки, которые требуют базовой аутентификации с помощью .htpasswd.
Сначала я проверил, что аутентификация работает:
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, как и должно быть, но, конечно, он не отправляет его в файл, который он запросил.Скорее, он отправляет их в корень папки.
Мы часто направляем пользователей к определенным файлам внутри этих каталогов, и я просто не могу найти ничего, что могло бы аутентифицировать их с базовой аутентификацией через HTTPS при попытке сделатьэтот.Возможно ли это на Apache?
Спасибо, Джонатан