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.