2017-08-12 151 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'?現在在電話上,所以我無法測試/檢查。 –