Saltar a contenido

log-var-set: Establecer variables antes de escribir en el registro de acceso

Instalación

Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:

  • RedHat Enterprise Linux 7, 8, 9 y 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 y Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-log-var-set
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-log-var-set

Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:

load_module modules/ngx_http_log_var_set_module.so;

Este documento describe nginx-module-log-var-set v0.1.0 lanzado el 06 de enero de 2026.


log_format main '$remote_addr - $remote_user [$time_local] '
                    '"$request" $status $body_bytes_sent '
                    '"$http_referer" "$http_user_agent" '
                    '"$log_field1" "$log_field2"';
access_log /spool/logs/nginx-access.log;

server {
    listen 127.0.0.1:80;
    server_name localhost;

    location / {
        log_var_set $log_field1 $upstream_http_custom_header1;
        log_var_set $log_field2 $upstream_http_custom_header2;
        proxy_pass http://example.upstream.com;
    }
}

Directivas

log_var_set

Sintaxis: log_var_set $variable value [if=condition];

Predeterminado: -

Contexto: http, server, location

Establece la variable de solicitud al valor dado antes de escribir en el registro de acceso. El valor puede contener variables de la solicitud o respuesta, como $upstream_http_*. Estas directivas se heredan del nivel de configuración anterior solo cuando no hay una directiva para la misma variable definida en el nivel actual.

GitHub

Puedes encontrar consejos adicionales de configuración y documentación para este módulo en el repositorio de GitHub para nginx-module-log-var-set.