Использование Nginx и Lua для маскировки тела запроса POST
Я использую Nginx Ingress контроллер, чтобы прокси некоторые запросы в несколько служб. Как часть этого я хочу замаскировать некоторую конфиденциальную информацию (содержание POST
тело), который входит в 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 '';
}