可以同时使用 Redirect 和 Proxypass

bom*_*car 19 tomcat redirect proxypass apache-2.2

我在 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
Run Code Online (Sandbox Code Playgroud)

这很好用,一切都很好;但是,我想添加以下行:

Redirect permanent /broken/page.html https://www.servername.com/correct/page.html
Run Code Online (Sandbox Code Playgroud)

在上面处理 TomCat 应用程序本身中的错误之前。然而,它似乎并没有像我期望的那样工作(即,它似乎什么都不做,什么也不改变)。是否可以以这种方式使用重定向?不幸的是,我无法编辑该应用程序。

Sha*_*den 27

是的!在 之上ProxyPass /,添加:

ProxyPass /broken/page.html !
Run Code Online (Sandbox Code Playgroud)

这将强制 proxypass 不在您尝试重定向的页面上执行操作。

  • 另一个关于 stackoverflow 的例子:http://stackoverflow.com/questions/26595592/use-redirect-and-proxypass/34501420#34501420 (2认同)

And*_*w B 10

<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
Run Code Online (Sandbox Code Playgroud)