服务器使用nginx反向代理后,后端服务器获取访客的真实ip的配置方法 - Go语言中文社区

服务器使用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

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/diyiday/article/details/80827437
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 22:21:01
  • 阅读 ( 1204 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢