.png)
У меня проблема с использованием базовой аутентификации Apache. У меня есть один сервер EC2, расположенный за эластичным балансировщиком нагрузки AWS и CloudFront. Я запускаю несколько доменов на машине. Я использую базовую аутентификацию Apache для доступа к определенным областям, но все они используют одни и те же файлы htpassd и htgroups. Это работает нормально для одного домена, ограничивая доступ к полному поддомену, но для другого домена это не работает для ограничения доступа к местоположению (или работает слишком хорошо — я не могу получить доступ).
Окружение: Apache 2.4.43 OpenSSL 1.0.2k-fips SVN 1.14.0 PHP 7.4.5
Режим отказа для Apache location
определен в conf.d/subversion.conf:
<Location /repos>
DAV svn
SVNParentPath /var/svn/
SVNListParentPath On
LogLevel debug
Options All
AllowOverride All Options
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /mnt/data/etc/htpasswd
AuthGroupFile /mnt/data/etc/htgroups
Require group subversion
И файл ошибки показывает
[Mon Aug 17 00:04:47.658169 2020] [authz_core:debug] [pid 30612] mod_authz_core.c(818): [client 10.0.200.51:11378] AH01626: authorization result of Require group subversion: denied (no authenticated user yet)
[Mon Aug 17 00:04:47.658511 2020] [authz_core:debug] [pid 30612] mod_authz_core.c(818): [client 10.0.200.51:11378] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
[Mon Aug 17 00:04:54.816887 2020] [authz_core:debug] [pid 30548] mod_authz_core.c(818): [client 10.0.200.51:11382] AH01626: authorization result of Require group subversion: denied (no authenticated user yet)
[Mon Aug 17 00:04:54.817233 2020] [authz_core:debug] [pid 30548] mod_authz_core.c(818): [client 10.0.200.51:11382] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
В файле conf.d/vhost.conf для www.myhost.com
, куда я пытаюсь обратиться www.myhost.com/repos
с помощью приведенной выше конфигурации для SVN, у меня также есть
<Directory />
Options All
#Allow from All
#Order Allow,Deny
Require all granted
AllowOverride All Options
...
Я потратил много времени на изучение различных лазеек, прежде чем вспомнил (и подтвердил), что использую тот же механизм аутентификации для другого сценария на том же хосте EC2 и экземпляре Apache. Это отлично работает в vhost.conf:
ServerName dev.anotherdomain.com
<Directory />
Options All
#Allow from All
#Order Allow,Deny
AllowOverride All Options
# AuthType Digest
AuthType Basic
AuthName "DevAndTest"
AuthUserFile /mnt/data/etc/htpasswd
AuthGroupFile /mnt/data/etc/htgroups
Require group adifferentgroup
Кажется, это работает нормально, что меня немного сбивает с толку :(
решение1
Оказалось, что проблема была в том, что мне нужно было внести Authorization
заголовки в белый список в дистрибутиве Cloudfront. Случай с поддоменом в исходном вопросе сработал, потому что он не находился за Cloudfront.