Использование 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 '';
}

0 ответов

Другие вопросы по тегам