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?