Pular para conteúdo

log-var-set: Definir variáveis antes da gravação do log de acesso

Instalação

Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:

  • RedHat Enterprise Linux 7, 8, 9 e 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 e 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

Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:

load_module modules/ngx_http_log_var_set_module.so;

Este documento descreve o nginx-module-log-var-set v0.1.0 lançado em 06 de janeiro 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;
    }
}

Diretrizes

log_var_set

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

Padrão: -

Contexto: http, server, location

Define a variável de solicitação para o valor dado antes da gravação do log de acesso. O valor pode conter variáveis da solicitação ou resposta, como $upstream_http_*. Essas diretrizes são herdadas do nível de configuração anterior apenas quando não há uma diretiva para a mesma variável definida no nível atual.

GitHub

Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-log-var-set.