我想使用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
然而它似乎没有用。任何人都可以帮忙解决这个问题吗?
感谢。
答案 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"