服务器使用nginx反向代理后,后端服务器获取访客的真实ip的配置方法

公司目前使用的业务是前端使用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地址

这里写图片描述

参考文档:

https://www.cnblogs.com/kevingrace/p/5893499.html

猜你喜欢

转载自blog.csdn.net/diyiday/article/details/80827437