HAProxy日志中Authorization Header的Base64解码处理需求
你可以通过HAProxy的转换器链式调用实现需求,在现有配置基础上添加base64dec转换器即可完成Base64解码。修改后的配置片段如下:
tcp-request content capture req.hdr(Authorization) len 128 log-format "%Tl "Client"-"%ci" "ConnectsTo"-"%fi:%fp" AuthorizationHeader:%[capture.req.hdr(0),regsub(Basic\s*,),base64dec] %hs"
配置说明
- 原有的
tcp-request content capture语句保持不变,负责捕获Authorization头内容并限制长度为128字节。 log-format中的转换逻辑:capture.req.hdr(0):引用捕获到的第一个请求头内容(即完整的Authorization头)regsub(Basic\s*,):用正则替换去掉Basic前缀(\s*匹配任意数量空格,兼容不同格式的Authorization头)base64dec:将替换后得到的Base64字符串解码为原始明文
注意事项
如果捕获到的Base64内容格式无效,HAProxy会输出空字符串,需确保Authorization头的Base64部分是合法编码。
内容的提问来源于stack exchange,提问作者Nikolo
相关产品推荐
相关产品推荐

