你能同时使用 Redirect 和 Proxypass 吗

你能同时使用 Redirect 和 Proxypass 吗

我在 CentOS 上使用 Apache 2.2.15 为 TomCat 应用程序提供 SSL。

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

一切运行正常,并且一切都很顺利;但是,我想添加以下行:

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

在上述操作之前处理 TomCat 应用程序本身的错误。但是,它似乎没有按我预期的方式工作(即,它似乎什么也没做,什么也没改变)。是否可以通过这种方式使用重定向?不幸的是,我无法编辑应用程序。

答案1

是的!在上方ProxyPass /添加:

ProxyPass /broken/page.html !

这将强制代理密码不对您尝试重定向的页面起作用。

答案2

<Proxy>也很有用,因为上下文总是被理解为适用于代理流量。这样,您无需排除特定路径。

<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

相关内容