Redirect 如何使用HAProxy重定向/重写URL(更改上下文路径)

Redirect 如何使用HAProxy重定向/重写URL(更改上下文路径),redirect,haproxy,Redirect,Haproxy,该问题与HAProxy 1.4.27有关。 我有一个可以使用上下文路径“/foo/foobar?…”访问的应用程序,如下所示: http://www.myserver.com/foo/foobar or http://www.myserver.com/foo/foobar/showDetails.do?id=1002 最近,上下文路径现在已更改为“/foobar”,但用户已将旧url添加到书签中。我试图使用haproxy.cfg中的“重定向”配置将用户重定向到新上下文,但这仅在url完全匹

该问题与HAProxy 1.4.27有关。 我有一个可以使用上下文路径“/foo/foobar?…”访问的应用程序,如下所示:

http://www.myserver.com/foo/foobar 
or 
http://www.myserver.com/foo/foobar/showDetails.do?id=1002
最近,上下文路径现在已更改为“/foobar”,但用户已将旧url添加到书签中。我试图使用haproxy.cfg中的“重定向”配置将用户重定向到新上下文,但这仅在url完全匹配的情况下有效。是否有方法将haproxy.cfg配置为重定向到新上下文

http://www.myserver.com/foobar 
or
http://www.myserver.com/foobar/showDetails.do?1002
这是我正在使用的重定向配置:

redirect location /foobar/ if { url /foo/foobar/}
我也尝试过使用“reqirep”,但无法正确配置它(haproxy进程在尝试重新启动时抛出错误)


在此方面的任何帮助都将不胜感激。

显然,1.4.2x版不支持URL重写(即使URL重定向在服务器端使用“Requirep”工作)。我们将升级到支持此功能的1.5.x版

发布此答案,以便帮助遇到相同情况的人