Ich verwende das Standard-Nginx-Paket auf dem Ubuntu 14.04-Server. Es wird /etc/nginx/nginx.conf
als Hauptkonfiguration verwendet und enthält dann die Konfigurationen von /etc/nginx/conf.d/*.conf
und /etc/nginx/sites-enabled/*
.
Die Standardkonfiguration von nginx enthält diese Anweisung für die Protokollierung im Zugriffsprotokoll
access_log /var/log/nginx/access.log;
Ich möchte den X-Forwarded-For-Header hinzufügen, also mache ich das im conf.d
Ordner:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
Das Problem, das ich habe, ist, dass ich dann zwei Datensätze in meiner Datei access.log erhalte - einen mit der Header-Information und einen anderen ohne.
Ich weiß, dass ich die nginx.conf
Datei selbst überschreiben kann, aber ich würde sie nach Möglichkeit lieber vermeiden. Ich möchte auch weiterhin dieselbe Protokolldatei verwenden ( access.log
).
Gibt es eine Möglichkeit, nginx anzuweisen, die vorherige Anweisung zu überschreiben und einfach das Protokollformat zu ändern, ohne die Hauptdatei zu ändern nginx.conf
?