¿Las directivas de Proxypass necesitan una directiva ProxyPassReverse?

20

¿Todas las directivas ProxyPass necesitan una directiva ProxyPassReverse?

ProxyPass / http://foo.example.com:8080/  
ProxyPassReverse / http://www.example.com/

Vi este fragmento y entiendo que todo el tráfico que llega foo.example.comse aproxima a foo.example.com:8080. ¿Qué hace la segunda línea?

theTuxRacer
fuente

Respuestas:

15

Esta directiva le permite a Apache ajustar la URL en la ubicación, la ubicación del contenido y los encabezados de URI en las respuestas de redireccionamiento HTTP .

Por ejemplo, suponga que el servidor local tiene la dirección http://example.com/ ; luego

ProxyPass /mirror/foo/ http://backend.example.com/
ProxyPassReverse /mirror/foo/ http://backend.example.com/
ProxyPassReverseCookieDomain backend.example.com public.example.com
ProxyPassReverseCookiePath / /mirror/foo/

no solo provocará que una solicitud local de http://example.com/mirror/foo/bar se convierta internamente en una solicitud de proxy a http://backend.example.com/bar (la funcionalidad que ProxyPass proporciona aquí). También se encarga de las redirecciones que el servidor backend.example.com envía: cuando http://backend.example.com/bar es redirigido por él a http://backend.example.com/quux Apache ajusta esto a http: / /example.com/mirror/foo/quux antes de reenviar la respuesta de redireccionamiento HTTP al cliente. Tenga en cuenta que el nombre de host utilizado para construir la URL se elige con respecto a la configuración de la directiva UseCanonicalName.

alvosu
fuente