我在Ubuntu 14.04服务器上使用默认的nginx软件包。它/etc/nginx/nginx.conf
用作主要配置,然后包括/etc/nginx/conf.d/*.conf
和中的配置/etc/nginx/sites-enabled/*
。
默认的nginx配置具有此指令,用于记录访问日志
access_log /var/log/nginx/access.log;
我想添加X-Forwarded-For标头,所以我在conf.d
文件夹内执行此操作:
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;
我的问题是,然后我在access.log文件中得到了两条记录-一个包含标题信息,另一个没有标题。
我知道我可以覆盖nginx.conf
文件本身,但是如果可能的话,我宁愿避免它。我也想继续使用相同的日志文件(access.log
)。
有没有一种方法可以告诉Nginx覆盖先前的指令,并且只需更改日志格式而不修改主nginx.conf
文件?