公司目前使用的业务是前端使用nginx做为反向代理,后端使用nginx作为web服务器,由于前期没有配置,导致后端服务器记录的访问日志的ip全部是来着前端反向代理服务器的。
如果需要后端服务器记录访客真是ip。需要进行如下配置:
一、配置反向代理端的nginx服务器
在server后面增加如下这三个参数用于记录IP:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
二、在后端服务器配置如下
在后端服务器的nginx_http处配置如下:
配置log_format信息, 后续的日志后面也需要加上main这个参数
log_format main '$remote_addr $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'$http_user_agent $http_x_forwarded_for $request_time $upstream_response_time $upstream_addr $upstream_status';
以上即可记录访客的真实ip地址
参考文档: