Você pode usar Redirect e Proxypass ao mesmo tempo?

14

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 acima para lidar com um erro no próprio aplicativo TomCat. No entanto, não parece funcionar da maneira que eu esperava (ou seja, parece não fazer nada e não muda nada). É possível usar o redirecionamento dessa maneira? Eu não tenho a capacidade de editar o aplicativo, infelizmente.

    
por bombcar 18.06.2014 / 05:50

2 respostas

19

Sim! Acima de ProxyPass / , adicione:

ProxyPass /broken/page.html !

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

    
por 18.06.2014 / 06:03
8

<Proxy> blocks também são úteis porque o contexto é sempre entendido como aplicando-se ao tráfego com proxy. Desta 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
    
por 18.06.2014 / 07:25