2017-08-12 71 views
1

尝试在traefik custome规则..traefik自定义规则PathStrip不匹配

应该从URL

  • 卸下/码和发送剩余的基础上,其他匹配到后端

示例url:/ code/rr; 只有/ rr应该被发送到后端..看起来只是/代码被发送到后端。

下面是我的规则,但没有工作..

 [frontends.f_rr] 
     entrypoints = ["http","https"] 
     priority = 10 
     passHostHeader = true 
     backend = "b_co" 
     [frontends.f_co.routes.test_1] 
     rule = "PathStrip: /code/; Path:/rr" 

回答

0

您应该使用PathPrefixStrip: /code规则(且仅此规则)。它捕获所有对/code路径前缀的请求,但在转发到后端之前将其除去。

另请参阅https://docs.traefik.io/basics/#frontends的文档,特别是标题为的路径匹配器使用指南的文档。

+0

实际上有多个后端,期待urls没有/代码..例如:/ code/rr到backend_rr只发送/ rr;/code/kk给backend_kk只发送/ kk; – andNn

+0

我不确定是否有可能,但您可以尝试将'ReplacePath'修改器添加到混音中。也就是说,尝试像'PathPrefixStrip:/ code;替换路径:/ rr'。 –

+0

也可能是'AddPrefix'?现在在电话上,所以我无法测试/检查。 –