使用Lua正则改写URL隐藏信息(FluentBit Lua插件场景)
FluentBit Lua插件URL脱敏正则方案
正则表达式与替换规则
要实现将https://www.example.com/file/1234改写为https://www.example.com/xxxxxxx,可以使用以下正则匹配与替换逻辑:
- 匹配正则:
^(https?://[^/]+)/.*$ - 替换字符串:
%1/xxxxxxx
正则说明
^(https?://[^/]+):捕获URL的协议(http/https)和域名部分,[^/]+会匹配到第一个斜杠前的所有字符(即完整域名)/.*$:匹配域名之后的所有路径内容(从第一个斜杠到字符串结尾)- 替换时用捕获到的域名部分
%1拼接固定脱敏串/xxxxxxx,实现路径部分的完全脱敏
Lua插件代码示例
在FluentBit的Lua过滤脚本中,可以这样实现:
function filter(tag, timestamp, record) -- 假设待脱敏的URL字段名为"url" local raw_url = record["url"] if raw_url then -- 执行正则替换 local masked_url = string.gsub(raw_url, "^(https?://[^/]+)/.*$", "%1/xxxxxxx") record["url"] = masked_url end return 2, timestamp, record end
注意事项
- 如果你的业务场景只使用HTTPS协议,可以将正则中的
https?改为https,提升匹配精度 - 若需要保留特定路径前缀(比如仅脱敏最后一段ID),可调整正则逻辑,但当前方案完全符合你提出的需求
内容的提问来源于stack exchange,提问作者Chit Khine
相关产品推荐
相关产品推荐

