Я использую контроллер Nginx Ingress для прокси-обработки некоторых запросов во многих сервисах.Как часть этого я хочу замаскировать некоторую конфиденциальную информацию (содержимое POST
body), которая регистрируется в access.log
.
Например, хотелось бы замаскировать password123
ниже с ****
,
"request_body": "username=test%2Badmin%40test.co&password=password123&_csrf=uuid"
А также маскировать любую последующую информацию, такую как confirmPassword
.Эта информация может существовать где угодно в request_body
.
Возможно ли добиться этой маскировки с помощью некоторой магии Lua ( lua-nginx-module )?
Мне удалосьдостичь с map
следующим образом, но хотелось бы получить чистое решение в Lua,
map $request_body $req_body_start {
"~(?<start_req>.*)\&password=[^\&]*.+" $start_req;
default $request_body;
}
map $request_body $req_body_end {
"~.*\&password=[^\&]*(?<end_req>.+)" $end_req;
default '';
}
map $request_body $req_body_pwd {
"~.*\&password=[^\&]*.+" '&password=****';
default '';
}