Utilice apache como un HTTPS a HTTP Proxy

10

Estoy tratando de configurar Apache en Centos 6 para proxy y revertir el tráfico proxy a un servidor http de un proveedor externo.

La configuración debería funcionar así: https://mydomain.com/proxy/ los servidores proxy trafican de forma transparente a http://thirdparty.com/app/

El problema que tengo es cualquier solicitud realizada para https://mydomain.com/proxy/obtener una redirección 301 en respuesta.

Estas son todas las opciones relacionadas con proxy en mi VirtualHost

SetOutputFilter proxy-html
ProxyHTMLExtended On
ProxyRequests Off
SSLProxyEngine On

<Proxy *>
Order deny,allow
Allow from all
</Proxy>


ProxyPass /proxy/ http://thirdparty.com/app/
<Location /proxy/>
        ProxyPassReverse /
        ProxyHTMLEnable On
        ProxyHTMLURLMap http://thirdparty.com/app/ /proxy/
        ProxyHTMLURLMap / /proxy/
</Location>
james_t
fuente

Respuestas:

15

Tenemos una configuración similar y la estamos usando (por supuesto, debe cargar antes de mod_proxy, mod_ssl y mod_proy_http):

ProxyRequests Off
# SSLProxyEngine On # only required if the proxied service would be HTTPS as well
                    # Meaning if we would reverse proxy https://thirdparty.com/app/
                    # Thanks @Piskvor for the clarification.

<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>


ProxyPass /proxy/ http://thirdparty.com/app/
ProxyPassReverse /proxy/ http://thirdparty.com/app/
<Location /proxy/>
  ProxyPassReverse /
  Order deny,allow
  Allow from all     
</Location>
Header edit Location ^http://thirdparty.com/app/ https://thirdparty.com/app/
Huygens
fuente
Encontré un error en el que estaba usando thirdparty.com que redirige a thirdparty.com . Sin embargo, mi configuración original tampoco funcionó con esto, la suya sí. Gracias.
james_t
1
Tenga en cuenta que SSLProxyEngineno es necesario aquí, eso sería necesario si se aproximara a élhttpS://thirdparty.com/
Piskvor dejó el edificio el
1
@Piskvor, de hecho, después de revisar la documentación nuevamente, no es necesario en ese caso. Actualizaré la respuesta. Gracias por señalar eso.
Huygens