我有一个 HAProxy 的工作配置,它捕获日志文件中的授权标头。
捕获的授权字符串看起来像
Basic dGVzdDp0ZXN0Cg==
。
我需要删除
Basic
并将 dGVzdDp0ZXN0Cg==
从 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"
要从行首删除“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]"