我对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将需要额外的时间进行审查,但如果这是唯一的方式,看起来它可能是时候更新。 –