1 votos

Apache mod_auth y mod_proxy no funcionan juntos

Estoy tratando de configurar apache como un frente de autenticación para un backend web que se ejecuta en el puerto 8080. El backend no tiene autenticación, así que si usas curl localhost:8080 obtienes el sitio web. El puerto 8080 está bloqueado externamente, por lo que lo que quiero es que apache autentique a un usuario que acceda desde el puerto 80 y luego haga un proxy al puerto 8080.

Creo que esto debería ser posible, como en este post en stackoverflow: https://stackoverflow.com/questions/724599/setting-up-an-apache-proxy-with-authentication

He intentado replicar esto, sin embargo, no puedo lograr que Apache autentique; simplemente pasa directamente al proxy. Aquí está la configuración del virtual host:

  ServerName external.mywebsite.com

          Satisfy any
          require valid-user
          order allow,deny
          Allow from all

  ProxyRequests off
  ProxyPreserveHost on

  ProxyPass / http://localhost:8080/
  ProxyPassReverse / http://localhost:8080/

          Order deny, allow
          Allow from all
          AuthType Basic
          AuthName "Privado"
          AuthBasicProvider file
          AuthUserFile /ruta/al/htpasswd
          Require valid-user

Esto funciona en la medida que al navegar a external.mydomain.com muestra la salida del backend. Por lo que el proxy en sí está funcionando, pero es como si las directivas de Auth estuvieran siendo ignoradas. También intenté mover las directivas de Auth dentro del bloque , pero esto tiene el mismo efecto exacto.

Estoy utilizando Apache2 v2.2.22 ejecutándose en Ubuntu 12.04. ¿Alguna sugerencia?

2voto

adaptr Puntos 14002

Satisfy any hace exactamente lo que dice: permite el acceso basado en la autenticación o en el control de acceso por IP.

Dado que permites lo primero en el bloque de Proxy y lo segundo en el bloque de Location, nunca se requiere autenticación.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X