Aller au contenu

log-var-set: Définir des variables avant l'écriture du journal d'accès

Installation

Vous pouvez installer ce module dans n'importe quelle distribution basée sur RHEL, y compris, mais sans s'y limiter :

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

Activez le module en ajoutant ce qui suit en haut de /etc/nginx/nginx.conf :

load_module modules/ngx_http_log_var_set_module.so;

Ce document décrit nginx-module-log-var-set v0.1.0 publié le 06 janvier 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;
    }
}

Directives

log_var_set

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

Par défaut : -

Contexte : http, server, location

Définit la variable de requête à la valeur donnée avant l'écriture du journal d'accès. La valeur peut contenir des variables de la requête ou de la réponse, telles que $upstream_http_*. Ces directives sont héritées du niveau de configuration précédent uniquement lorsqu'il n'y a pas de directive pour la même variable définie au niveau actuel.

GitHub

Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-log-var-set.