首页 > 解决方案 > HA 代理,如何根据请求 URI 向传入请求添加动态标头

问题描述

我们需要为 HAproxy 处理的传入请求添加一个标头。但是,每个标头都需要由 uri 元素组成。如果请求是“ http://myserver/system/apple/watch ”,则标头需要是“Host:applewatch.com”,其中 .com 是静态的。

我知道“set-header”命令,我只需要通过 REGEX 提取第二个和第三个 URI 元素,将它们串在一起,并添加静态字段 .com。

有没有办法通过正则表达式将 URI 元素保存到变量中,然后将此变量用作标头部分?

谢谢。

标签: haproxy

解决方案


你可以这样做:

http-request set-header ASDF %[path,word(2,/)]%[path,word(3,/)].com

或者

 http-request set-header ASDF %[path,regsub(^/system/,''),regsub(/,''),regsub($,'.com')]

推荐阅读