Pouvez-vous utiliser Redirect et Proxypass en même temps

16

J'utilise Apache 2.2.15 sur CentOS pour fournir SSL pour une application TomCat.

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

Cela fonctionne bien et tout est super; cependant, je veux ajouter la ligne suivante:

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

avant ce qui précède pour gérer une erreur dans l'application TomCat elle-même. Cependant, il ne semble pas fonctionner comme je l'espère (c'est-à-dire qu'il ne semble rien faire et ne rien changer). Est-il possible d'utiliser Rediriger de cette façon? Je n'ai malheureusement pas la possibilité de modifier l'application.

bombcar
la source

Réponses:

23

Oui! Au-dessus de ProxyPass /, ajoutez:

ProxyPass /broken/page.html !

Cela forcera le proxypass à ne pas agir sur la page que vous essayez de rediriger.

Shane Madden
la source
Je vous remercie! Je me demandais si je devais faire quelque chose comme ça, mais je pensais que le faire passer en premier pourrait être suffisant. Fonctionne très bien!
bombcar
2
Un autre exemple sur stackoverflow: stackoverflow.com/questions/26595592/use-redirect-and-proxypass/…
Christopher Schultz
9

<Proxy>les blocs sont également utiles car le contexte est toujours compris comme s'appliquant au trafic proxy. De cette façon, vous n'avez pas besoin d'exclure des chemins spécifiques.

<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
la source