HaProxy reqrep使用路径的最后一部分

时间:2018-10-09 20:03:27

标签: haproxy

这是针对HaProxy 1.4的,因此,如果可能,我们需要一个reqrep解决方案。

我们有传入的URL,这些URL具有如下所示的可变路径:

my.url.com/oldpath1/oldpath2/oldpath3/oldpath4/ 捕获路径

my.url.com/oldpath1/oldpath2/oldpath3/ 捕获路径

my.url.com/oldpath1/oldpath2/ 捕获路径

我们需要一个reqrep规则来获取 capture_path ,以将URL重写为:

my.url.com/newpath/ 捕获路径

我们尝试了以下正则表达式模式,但未成功:

reqrep ^([^ \] *)\([^ /] +)$ \ 1 \ / newpath / \ 2

reqrep ^([^ \] *)\([^ /] +)(\ [^ \] +)$ \ 1 \ / newpath / \ 2 \ 3

这两种模式似乎都被完全忽略了,但是由于没有什么有用的东西可以记录到日志中,因此我们很难进行故障排除。

如果我们这样做:

reqrep ^([^^] *)\ /oldpath1/oldpath2/(.*)\ 1 \ / newpath / \ 2

它适用于my.url.com/oldpath1/oldpath2/capture_path,但似乎不喜欢正则表达式的([^ /] +)$部分试图抢占最后一部分动态路径。

为每个变体编写规则不是一种选择,因为“ oldpath1”等本身就是变量,而不是静态值。

有人遇到过这个问题吗?

0 个答案:

没有答案