Haproxy重写网址

时间:2016-07-01 22:58:03

标签: haproxy

我想使用HAProxy将传入的请求http://example.com/test/app/v1/foo/bar路由到http://example.com/v1/app/foo/bar

我在Haproxy route and rewrite based on URI path处查看了示例并构建了正则表达式:

reqrep ^([^\ ]\*)\ /([a-zA-Z]\*)/([a-zA-Z]\*)/([0-9A-Za-z]\*)/(.\*)  \1\ /\4/\3/\5

然而它似乎没有用。任何人都可以帮忙解决这个问题吗?

感谢。

1 个答案:

答案 0 :(得分:0)

不要转义星号字符(如果您使用的是最新版本,您甚至可以使用引号而不能转义任何内容):

reqrep ^([^\ ]*)\ /([a-zA-Z]*)/([a-zA-Z]*)/([0-9A-Za-z]*)/(.*) \1\ /\4/\3/\5

以下测试工作

$ curl -IL http://127.0.0.1/test/app/v1/foo/bar
127.0.0.1 - - [09/Jul/2016:01:45:01 +0200] "HEAD /v1/app/foo/bar HTTP/1.1" 404 0 "-" "curl/7.47.0"