Können Sie Redirect und Proxypass gleichzeitig verwenden?

16

Ich verwende Apache 2.2.15 unter CentOS, um SSL für eine TomCat-Anwendung bereitzustellen.

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

Das funktioniert gut und alles ist großartig; Ich möchte jedoch die folgende Zeile hinzufügen:

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

vor dem oben genannten, um einen Fehler in der TomCat-Anwendung selbst zu behandeln. Es scheint jedoch nicht so zu funktionieren, wie ich es erwartet habe (dh es scheint nichts zu tun und nichts zu ändern). Ist es möglich, Redirect auf diese Weise zu verwenden? Ich kann die Bewerbung leider nicht bearbeiten.

Bombenwagen
quelle

Antworten:

23

Ja! Fügen Sie darüber ProxyPass /Folgendes hinzu:

ProxyPass /broken/page.html !

Dadurch wird der Proxypass gezwungen, nicht auf die Seite zu reagieren, die Sie umleiten möchten.

Shane Madden
quelle
Vielen Dank! Ich habe mich gefragt, ob ich so etwas tun muss, aber ich dachte, dass es genug sein könnte, wenn es zuerst kommt. Funktioniert super!
Bombenauto
2
Ein weiteres Beispiel für stackoverflow: stackoverflow.com/questions/26595592/use-redirect-and-proxypass/…
Christopher Schultz
9

<Proxy>Blöcke sind auch nützlich, da der Kontext immer so verstanden wird, dass er für den Proxy-Verkehr gilt. Auf diese Weise müssen Sie bestimmte Pfade nicht ausschließen.

<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
quelle