.png)
Tengo problemas con el uso de la autenticación básica de Apache. Tengo un único servidor EC2 detrás de un equilibrador de carga elástico de AWS y CloudFront. Ejecuto varios dominios en la máquina. Utilizo la autenticación básica de Apache para acceder a ciertas áreas, pero todas usan los mismos archivos htpassd y htgroups. Funciona bien para un dominio, restringiendo el acceso a un subdominio completo, pero para otro dominio, no funciona para restringir el acceso a una ubicación (o funciona demasiado bien, no puedo obtener acceso).
Entorno: Apache 2.4.43 OpenSSL 1.0.2k-fips SVN 1.14.0 PHP 7.4.5
El modo de falla es para un Apache location
definido en 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
Y el archivo de error muestra
[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)
En el archivo conf.d/vhost.conf para www.myhost.com
, donde intento llegar www.myhost.com/repos
usando la configuración anterior para SVN, también tengo
<Directory />
Options All
#Allow from All
#Order Allow,Deny
Require all granted
AllowOverride All Options
...
Pasé mucho tiempo investigando varias ratas antes de recordar (y confirmar) que estoy usando el mismo mecanismo de autenticación para un escenario diferente en el mismo host EC2 y la misma instancia de Apache. Esto funciona bien en 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
Esto parece funcionar bien, lo cual me tiene un poco desconcertado :(
Respuesta1
Resultó que el problema era que necesitaba incluir Authorization
encabezados en la lista blanca en la distribución de Cloudfront. El caso del subdominio en la pregunta original funcionó porque no estaba detrás de Cloudfront.