我對HAProxy來說很新,但需要看起來像一個相當不常見的需求。我需要根據主機頭來查找地圖中的項目,但我需要首先應用一些字符串操作。HAProxy在映射查找之前處理字符串
例如: 請求進入i.domain.com 我需要剝離我。並在我的地圖中查找domain.com。
我可以通過從初始請求的值創建一個新的,臨時標題,然後與一些正則表達式替換該值,像這樣做:
http-request set-header X-Temp %[req.hdr(host)]
http-request replace-value X-Temp [a-zA-Z].(.*)(:)?.* \1
http-request set-header X-ID %[req.hdr(X-Temp),lower,map(/some.map,99999)]
這似乎浪費,當我真正需要的似乎是它可能是這樣的一行:
http-request set-header X-ID %[(apply [a-zA-Z].(.*)(:)?.* \1 to req.hdr(host)),lower,map(/some.map,99999)]
我試圖讓reqrep做到這一點沒有任何運氣。我怎樣才能操縱字符串只是爲了查找,而實際上並沒有將它保存回http請求頭?
謝謝你。我們仍然在1.5倍以上,上升到1.6將需要額外的時間進行審查,但如果這是唯一的方式,看起來它可能是時候更新。 –