¿Se puede utilizar Redirect y Proxypass al mismo tiempo?

16

Estoy usando Apache 2.2.15 en CentOS para proporcionar SSL para una aplicación TomCat.

ProxyPass / http://127.0.0.1:8090/ connectiontimeout=300 timeout=300
ProxyPassReverse / http://127.0.0.1:8090

Esto funciona bien y todo es genial; sin embargo, quiero agregar la siguiente línea:

Redirect permanent /broken/page.html https://www.servername.com/correct/page.html

antes de lo anterior para manejar un error en la aplicación TomCat. Sin embargo, no parece funcionar de la manera que esperaba (es decir, parece que no hace nada y no cambia nada). ¿Es posible usar Redirect de esta manera? Lamentablemente, no tengo la capacidad de editar la aplicación.

coche bomba
fuente

Respuestas:

23

¡Si! Sobre el ProxyPass /, agregue:

ProxyPass /broken/page.html !

Eso obligará al proxypass a no actuar en la página que está intentando redirigir.

Shane Madden
fuente
¡Gracias! Me preguntaba si tenía que hacer algo así, pero pensé que tenerlo primero sería suficiente. ¡Funciona genial!
bombardear
2
Otro ejemplo sobre stackoverflow: stackoverflow.com/questions/26595592/use-redirect-and-proxypass/…
Christopher Schultz
9

<Proxy>Los bloques también son útiles, ya que siempre se entiende que el contexto se aplica al tráfico proxy. De esta manera, no necesita excluir rutas específicas.

<Proxy *>
    Redirect permanent /broken/page.html https://www.example.com/correct/page.html
    RedirectMatch ^/deadstuff.+ http://www.example.com/correct/page.html
</Proxy>

ProxyPass / http://127.0.0.1:8090/ connectiontimeout=300 timeout=300
ProxyPassReverse / http://127.0.0.1:8090
Andrew B
fuente