Исключить определенный параметр запроса из регистрации в Nginx?

Исключить определенный параметр запроса из регистрации в Nginx?

Интересно, можно ли исключить определенные параметры запроса в URI из регистрации в журнале доступа Nginx?

Вот наша текущая конфигурация:

log_format  main  '$remote_addr - $remote_user [$time_local] $host "$request" '
                      '$status $body_bytes_sent $request_time "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

Независимо от пути запроса, предположим, я хочу, чтобы параметр «широта» был исключен из регистрации (или, что предпочтительнее, он должен быть скрыт). Я знаю, что могу исключитьвсепараметры запроса, изменив "$request" на, например, "$request_method $uri", но тогда я теряювсепараметры, которые мне не нужны.

Обновлять:

Я хочу GET /index.html?latitude=43.4321&otherkey=value HTTP/1.1, чтобы меня запутали примерно так:GET /index.html?latitude=******&otherkey=value HTTP/1.1

решение1

GET /index.html?key=latitude&otherkey=value HTTP/1.1
становится GET /index.html?key=***&otherkey=value HTTP/1.1

Вот код:

log_format  main  '$remote_addr - $remote_user [$time_local] $host "$customrequest" '
                      '$status $body_bytes_sent $request_time "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
map $request $customrequest {
        ~^(.*)(latitude)(.*)$   "$1***$3";
        default                 $request;
}

Вы можете добавить несколько ключевых слов следующим образом:~^(.*)(latitude|dell|inspiron)(.*)$

Редактировать:
После указания в комментарии регулярное выражение необходимо изменить:
GET /index.html?latitude=5570&otherkey=value HTTP/1.1оно становится
GET /index.html?latitude=***&otherkey=value HTTP/1.1

map $request $customrequest {
        ~^(.*)([\?&]latitude=)([^&]*)(.*)$   "$1$2***$4";
        default                 $request;
}

Связанный контент