haproxy - HA 代理,如何根据请求 URI 向传入请求添加动态标头
问题描述
我们需要为 HAproxy 处理的传入请求添加一个标头。但是,每个标头都需要由 uri 元素组成。如果请求是“ http://myserver/system/apple/watch ”,则标头需要是“Host:applewatch.com”,其中 .com 是静态的。
我知道“set-header”命令,我只需要通过 REGEX 提取第二个和第三个 URI 元素,将它们串在一起,并添加静态字段 .com。
有没有办法通过正则表达式将 URI 元素保存到变量中,然后将此变量用作标头部分?
谢谢。
解决方案
你可以这样做:
http-request set-header ASDF %[path,word(2,/)]%[path,word(3,/)].com
或者
http-request set-header ASDF %[path,regsub(^/system/,''),regsub(/,''),regsub($,'.com')]
推荐阅读
- python - 如何存储每个类别对象的总提款金额?
- tensorflow - 使用 .tfrecord 文件进行预测的最佳实践
- android - 从 json 中提取数据到 kotlin 数据类
- vba - 选择性粘贴 msoClipboardFormatPlainText 在 Mac 上创建不需要的换行符
- c++ - 在类构造函数 C++ 中捕获异常
- python - 如何从列表中的键获取字典值?
- javascript - 尝试限制猜测后,javascript(html)while循环不起作用
- c# - 尝试使用 AutoMapper 将 JObject 映射到 c# 类,我得到子元素的 NULL
- jquery - Image-Resize-Crop-imageResizer 在顶级 jquery 插件中不起作用
- android - Android WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS Android Api 级别 30 (Android 11) 不起作用