¿Excluir un parámetro de consulta específico para que no se inicie sesión en Nginx?

¿Excluir un parámetro de consulta específico para que no se inicie sesión en Nginx?

Me pregunto si es posible excluir parámetros de consulta específicos en el URI para que no se registren en el registro de acceso de Nginx.

Aquí está nuestra configuración actual:

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"';

Independientemente de la ruta de la solicitud, digamos que quiero que el parámetro "latitud" se excluya del registro (o preferiblemente, debería ofuscarse). Sé que puedo excluirtodoparámetros de consulta cambiando "$request" a, por ejemplo, "$request_method $uri", pero luego pierdotodoparámetros que no es lo que quiero.

Actualizar:

Quiero GET /index.html?latitude=43.4321&otherkey=value HTTP/1.1ofuscarme con algo como esto:GET /index.html?latitude=******&otherkey=value HTTP/1.1

Respuesta1

GET /index.html?key=latitude&otherkey=value HTTP/1.1
se convierte GET /index.html?key=***&otherkey=value HTTP/1.1

Aquí está el código:

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;
}

Puede agregar varias palabras clave como esta:~^(.*)(latitude|dell|inspiron)(.*)$

Editar:
Después de la especificación en el comentario, es necesario modificar la expresión regular:
GET /index.html?latitude=5570&otherkey=value HTTP/1.1se convierte
GET /index.html?latitude=***&otherkey=value HTTP/1.1

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

información relacionada