Apache ProxyPass no parece enviar contenido desde un host remoto

Apache ProxyPass no parece enviar contenido desde un host remoto

Estoy intentando crear un proxy en una URL de mi sitio "maestro" hacia un sitio remoto, "este", pero me quedo atascado en un bucle de redireccionamiento. Este no es el comportamiento que esperaba: entendí que ProxyPass reescribiría el contenido en la URL, pero creo que actúa como si estuviera redireccionando al host "maestro".

El archivo de configuración aplicado es bastante sencillo:

user@master:/etc/apache2/conf-enabled# cat multisite_proxy.conf
<Location /prod_east>
        ProxyPass http://east.domain.com/prod_east
        ProxyPassReverse http://east.domain.com/prod_east
</Location>

usando cURL, mi salida es la siguiente:

user@master:~# curl -IL https://master.domain.com/prod_east/
HTTP/1.1 302 Found
Date: Thu, 17 Dec 2020 22:58:41 GMT
Server: Apache/2.4.38 (Debian)
Location: https://master.domain.com//prod_east/
Content-Type: text/html; charset=iso-8859-1

...

curl: (47) Maximum (50) redirects followed

Los registros de Apache en el este muestran las solicitudes de cURL.

Si navego, http://east.domain.com/prod_eastme redirigen a la página de inicio de sesión de una aplicación (lo cual espero). Al examinar eso con cURL, veo:

user@master:~# curl -IL http://east.domain.com/prod_east
HTTP/1.1 302 Found
Date: Thu, 17 Dec 2020 23:17:38 GMT
Server: Apache/2.4.38 (Debian)
Location: https://east.domain.com//prod_east
Content-Type: text/html; charset=iso-8859-1

HTTP/1.1 302 Found
Date: Thu, 17 Dec 2020 23:17:38 GMT
Server: Apache
Location: https://east.domain.com/prod_east/subpath/
Content-Type: text/html; charset=iso-8859-1

HTTP/1.1 302 FOUND
Date: Thu, 17 Dec 2020 23:17:38 GMT
Server: Apache
Vary: Cookie
Cache-Control: no-cache
**Location: /prod_east/subpath/login.py?_origtarget=index.py**
Content-Type: text/html; charset=UTF-8

La última entrada Ubicación: me hace preguntarme: le dice al cliente que redirija a /prod_east/, pero espero que se solicite east.domain.comdebido a las reglas de ProxyPass.

El módulo Proxy está habilitado, al igual que el módulo de reescritura.

¿Alguna ayuda? Claramente no entiendo algo aquí...

Gracias de antemano.

Respuesta1

El problema aquí era que el sitio "este" estaba forzando una redirección a HTTPS y Apache no estaba configurado para representar contenido TLS. Después de habilitar SSLProxy en "maestro" y actualizar multisite_proxy.confpara hacer referencia a https (omitiendo así la redirección HTTP->HTTPS), esto ahora está funcionando.

información relacionada