Haproxy

如何在保留路徑中間的變數的同時讓 haproxy 重寫 url?

  • April 3, 2018

我正在嘗試將一個看起來像http://host/api/getThingByID/12345的 url 重定向到http://host/api/addr/12345/getThing

不幸的是,regsub() 不支持擷取組。我打算通過呼叫它兩次來解決這個問題,一次將 url 重寫為 id,然後再次替換/$/getThing,但我不知道如何在一個重定向規則中呼叫該函式兩次。

經過多次試驗,我想出了一個解決方案。您可以使用以下規則將 regsub() 背靠背連結:

http-request redirect code 301 location %[url,regsub(^/api/getThingByAddr,/api/addr/,),regsub($,/getThing,)] if { path_beg /api/getThingByAddr }

引用自:https://serverfault.com/questions/905809