Bisakah Anda menggunakan Redirect dan Proxypass secara bersamaan

16

Saya menggunakan Apache 2.2.15 pada CentOS untuk menyediakan SSL untuk aplikasi TomCat.

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

Ini berfungsi dengan baik dan semuanya hebat; namun, saya ingin menambahkan baris berikut:

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

sebelum di atas untuk menangani kesalahan dalam aplikasi TomCat itu sendiri. Namun, tampaknya tidak berfungsi seperti yang saya harapkan (yaitu, tampaknya tidak melakukan apa pun dan tidak mengubah apa pun). Apakah mungkin menggunakan Redirect dengan cara ini? Sayangnya, saya tidak memiliki kemampuan untuk mengedit aplikasi.

bombcar
sumber

Jawaban:

23

Iya! Di atas ProxyPass /, tambahkan:

ProxyPass /broken/page.html !

Itu akan memaksa proxypass untuk tidak bertindak pada halaman yang Anda coba arahkan.

Shane Madden
sumber
Terima kasih! Saya bertanya-tanya apakah saya harus melakukan sesuatu seperti itu, tetapi saya berpikir bahwa dengan datang terlebih dahulu mungkin sudah cukup. Bagus sekali!
bombcar
2
Contoh lain tentang stackoverflow: stackoverflow.com/questions/26595592/use-redirect-and-proxypass/…
Christopher Schultz
9

<Proxy>blok juga berguna karena konteksnya selalu dipahami berlaku untuk lalu lintas yang diproksi. Dengan cara ini Anda tidak perlu mengecualikan jalur tertentu.

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