HAProxy 配置日志格式。需要替换日志中的字符串

问题描述 投票:0回答:1

我有一个 HAProxy 的工作配置,它捕获日志文件中的授权标头。
捕获的授权字符串看起来像

Basic dGVzdDp0ZXN0Cg==

我需要删除

Basic 
并将
dGVzdDp0ZXN0Cg==
从 base64 转换为原始文本。
我可以将整个捕获的字符串转换为base64,例如
%[capture.req.hdr(0),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*,)] %hs"
regex haproxy
1个回答
0
投票

要从行首删除“Basic”并将 AuthorizationHeader 从 base64 解码为原始内容,只需添加 %[capture.req.hdr(0),regsub(Basic\s*,),b64dec]
完整配置:

tcp-request content capture req.hdr(Authorization) len 128
log-format "Client-%ci Server-%fi:%fp AuthorizationHeader:%[capture.req.hdr(0),regsub(Basic\s*,),b64dec]"
© www.soinside.com 2019 - 2024. All rights reserved.