Você pode usar o Redirecionar e o Proxypass ao mesmo tempo

16

Estou usando o Apache 2.2.15 no CentOS para fornecer SSL para um aplicativo TomCat.

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

Isso funciona bem e tudo é ótimo; no entanto, quero adicionar a seguinte linha:

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

antes do procedimento acima para lidar com um erro no próprio aplicativo TomCat. No entanto, ele não parece funcionar da maneira que eu esperava (ou seja, parece não fazer nada e mudar nada). É possível usar o redirecionamento dessa maneira? Infelizmente, não tenho a capacidade de editar o aplicativo.

carro de bombardeiro
fonte

Respostas:

23

Sim! Acima do ProxyPass /, adicione:

ProxyPass /broken/page.html !

Isso forçará o proxypass a não agir na página que você está tentando redirecionar.

Shane Madden
fonte
Obrigado! Fiquei me perguntando se tinha que fazer algo assim, mas pensei que tê-lo em primeiro lugar poderia ser suficiente. Funciona bem!
bombcar
2
Outro exemplo sobre o stackoverflow: stackoverflow.com/questions/26595592/use-redirect-and-proxypass/…
Christopher Schultz
9

<Proxy>Os blocos também são úteis, pois sempre se entende que o contexto se aplica ao tráfego proxy. Dessa forma, você não precisa excluir caminhos específicos.

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