[转帖]Nginx之ngx_http_realip_module

nginx,ngx,http,realip,module · 浏览次数 : 0

小编点评

nginx日志文件中的`remote_addr`和`XFF`地址可能指向同一个IP地址,这是由于nginx使用了realip功能来隐藏真实IP地址。 realip功能可以让nginx获取到用户的真实IP地址,而不是上一个节点转发的IP地址。 这可以通过设置`realip_header`和`realip_recursive`选项来实现。 以下是使用realip功能获取用户真实IP地址的步骤: 1.设置`realip_header`选项:`proxy_set_header X-Forwarded-For $remote_addr;` 2.设置`realip_recursive`选项:`proxy_set_header X-Forwarded-For $remote_addr;` 3.使用`realip`功能获取用户IP地址。 4.将最终的结果设置到`remote_addr`变量中。 5.在web端筛选过IP信息后,nginx最终使用的IP就是`remote_addr`变量的值。

正文

https://www.jianshu.com/p/80a779b3bf20

 

问题描述

今日在线上查询nginx日志文件的用户真实IP时,发现remote_addr和XFF地址一模一样,这点让我很是不理解,正常来讲remote_addr应该获取到的是上一个节点转发的IP地址,我们却是获得了用户的真实IP,经过排查发现是使用了realip

经过了解和学习,realip可以隐藏掉已知的转发层IP,获取到真实需要的IP,如下图

 
image.png

 

上图所示,我们需要获取到用户的IP可以这样

set_real_ip_from  3.3.3.3;
set_real_ip_from  2.2.2.2;
real_ip_header    X-Forwarded-For;
real_ip_recursive on;

这时,web端筛选过IP信息后最后剩下的IP则是用户1.1.1.1;
nginx官网参考文档

与[转帖]Nginx之ngx_http_realip_module相似的内容:

[转帖]Nginx之ngx_http_realip_module

https://www.jianshu.com/p/80a779b3bf20 问题描述 今日在线上查询nginx日志文件的用户真实IP时,发现remote_addr和XFF地址一模一样,这点让我很是不理解,正常来讲remote_addr应该获取到的是上一个节点转发的IP地址,我们却是获得了用户的真实

[转帖]Nginx之http转https配置方法

https://www.jianshu.com/p/35fb060ee939 方法1 if ( $scheme = http ) { return 301 https://$host$request_uri; } 方法2 if ( $server_port = 80 ) { return 301 h

[转帖]Nginx之proxy_redirect详解

今天在做nginx反向代理apache的时候出了一点点问题,原来后端apache用的端口是8080通过反向代理后,使用wireshark抓包发现location头域数值为http://192.168.1.154:8080/wuman/ 如果把这个返回给客户端肯定是不可以的,看起来别扭而且还暴露了ap

[转帖]Nginx优化之keepalive

一、nginx之tcp_nopush、tcp_nodelay、sendfile 1、TCP_NODELAY 你怎么可以强制 socket 在它的缓冲区里发送数据? 一个解决方案是 TCP 堆栈的 TCP_NODELAY选项。这样就可以使缓冲区中的数据立即发送出去。 Nginx的 TCP_NODELA

[转帖]Nginx系列之nginx四层反向代理

https://cloud.tencent.com/developer/article/2013908 上集说到nginx的http七层代理,其实它工作在OSI七层模型的应用层。由于其可以解析http协议,我们可以根据URI进行请求的分发,具有很大的灵活性,但是协议的解析存在性能的消耗。为了能获取更

[转帖]Nginx负载均衡之ip_hash

原理: 通过哈希值和ip进行运算,得出一个哈希字符串,一个值。分发的时候进行判断请求之前是否和哈希绑定过。有的话则优先分配 匹配到对应哈希值的服务器上。 什么是ip_hash? ip_hash是根据用户请求过来的ip,然后映射成hash值,然后分配到一个特定的服务器里面;使用ip_hash这种负载均

[转帖]9.Nginx实践之使用MaxMind的GeoIP2实现处理不同国家或城市的访问最佳实践指南

https://cloud.tencent.com/developer/article/2129901?areaSource=105001.14&traceId=OFI4ayMl5Z9FSNINaESjJ 0x00 前言简述 描述: 为了实现根据访问者访问我们的网站时根据其IP显示其所属地,也为获取

[转帖]详解nginx的rewrite应用,Nginx高级之Rewrite规则

https://zhuanlan.zhihu.com/p/359801091 Rewrite主要的功能是实现URL重写,Nginx 的 Rewrite 规则采用 PCRE Perl 兼容正则表达式的语法进行规则匹配,如相使用 Nginx 的 Rewrite 功能,在编译 Nginx 前要编译安装 P

[转帖]KeenTune调优实践之Nginx调优

https://openanolis.cn/sig/KeenTune/doc/423701433171625827 环境准备 准备两台虚拟机,VM A安装wrk,keentuned,keentune-brain,keentune-bench,作为测试机;VM B安装Nginx,作为Nginx服务端,

[转帖]ELKStack入门篇(二)之Nginx、Tomcat、Java日志收集以及TCP收集日志使用

https://www.cnblogs.com/linuxk/p/9273160.html 1、收集Nginx的json格式日志 1.1、Nginx安装 View Code 1.2、配置logstash [root@linux-node1 ~]# vim /etc/logstash/conf.d/n