如果拿到真实的用户IP地址,需要有如下前提

1、TCP 连接四元组 (src_ip,src_port,dst_ip, dst_port)

2、HTTP头部X-Forwarded-For 用户传递IP

3、HTTP头部X-Real-IP用户传递用户IP

4、网络中存在许多反向代理

X-Forwarded-For: 115.203.2.22,1.1.1.1
X-Real-IP: 115.203.2.22

拿到真实用户IP地址如何使用, nginx 是基于变量来使用的

如:binary_remote_addr、remote_addr 这样的变量,其值就是真实的IP; 这样做连接限制(limit_conn模块) 才有意义.

realip 模块,默认是不会编译进nginx 中的,可以通过如下启用功能:

--with-http_realip_module 

变量:

realip_remote_addr
reaip_remote_port

指令:

set_real_ip_from
set_ip_header
real_ip_recursive

下面来演示一下

realip.conf

server {server_name  realip.zk02.com;set_real_ip_from 192.168.27.152;real_ip_header X-Forwarded-For;real_ip_recursive  off;location  / {return  200 "Client  real ip: $remote_addr\n";}}

使用include 指令加入到nginx.conf 中.

include   /soft/nginx/conf/example_conf/realip.conf;

使用curl 命令验证一下

[root@zk02 conf]# curl -H 'X-Forwarded-For: 1.1.1.1,192.168.27.152' realip.zk02.com
Client  real ip: 192.168.27.152

当    real_ip_recursive  on;  时

[root@zk02 conf]# curl -H 'X-Forwarded-For: 1.1.1.1,192.168.27.152' realip.zk02.com
Client  real ip: 1.1.1.1
[root@zk02 example_conf]# curl -H 'X-Forwarded-For: 1.1.1.1,2.2.2.2,192.168.27.152' realip.zk02.com
Client  real ip: 2.2.2.2

nginx 之postread 阶段:获取真实客户端地址的realip 模块相关推荐

  1. Nginx在多层代理下获取真实客户端IP地址

    最近在研究nginx中如何获取真实客户端IP的方法.众所周知,在编译Nginx时,可通过添加http_realip_module模块来获取真实客户端IP地址.何为真实IP地址呢?请看下图,既获取到的真 ...

  2. 学习笔记 - Nginx在多层代理下获取真实客户端IP地址

    最近在研究nginx中如何获取真实客户端IP的方法.众所周知,在编译Nginx时,可通过添加http_realip_module模块来获取真实客户端IP地址.何为真实IP地址呢?请看下图,既获取到的真 ...

  3. 记一次:java获取真实ip地址问题

    前言:在java代码中获取真实ip地址的代码如下所示 /*** 获取客户端IP* * @param request 请求对象* @return IP地址*/public static String g ...

  4. 老大说,网上这种获取真实IP地址的方法不对,我不信...

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:蔡永吉  来源:http://bit.ly/33H8RMm ...

  5. NGINX前端代理TOMCAT取真实客户端IP

    nginx前端代理tomcat取真实客户端IP 使用Nginx作为反向代理时,Tomcat的日志记录的客户端IP就不在是真实的客户端IP,而是Nginx代理的IP.要解决这个问题可以在Nginx配置一 ...

  6. 502 proxy error解决方法_老大说,网上这种获取真实IP地址的方法不对,我不信......

    作者:蔡永吉  来源:http://bit.ly/33H8RMm想必大家对这段代码并不陌生: public String getIpAddr(HttpServletRequest request) { ...

  7. php取网盘真实链接,利用蓝奏做个人小文件网盘和获取真实下载地址

    原标题:利用蓝奏做个人小文件网盘和获取真实下载地址 之前已经有人分享过蓝奏云盘直链获取教程和源码,但是或已经失效,或只能用于电脑. 按照之前网友分享的思路,对蓝奏的手机端页面进行分析: 分享的网盘链接 ...

  8. nginx curl命令有效 curl_setopt无效_日志分析系列(外传一):Nginx透过代理获取真实客户端IP...

    本系列中的故事纯属虚构,如有雷同实属巧合 小B是Q公司的安全攻城狮,为了完成任务小B开始做起了调研(欲知背景如何,且听下回分说). 首先小B弄明白了Q公司的应用系统架构是:Client --> ...

  9. Nginx透过代理获取真实客户端IP

    本系列中的故事纯属虚构,如有雷同实属巧合 小B是'柒'公司的安全攻城狮,为了完成任务小B开始做起了调研(欲知背景如何,且听下回分说). 首先小B弄明白了'柒'公司的应用系统架构是:Client --& ...

最新文章

  1. 【转】android自定义控件
  2. LDD3源码分析之ioctl操作 .
  3. 使用flink Table Sql api来构建批量和流式应用(3)Flink Sql 使用
  4. python 量化交易 框架 开源_Hikyuu首页、文档和下载 - 基于 C++/Python 的开源量化交易研究框架 - OSCHINA - 中文开源技术交流社区...
  5. 把输入字符的小写转换成大写并输出
  6. android init.d脚本,◇添加init.d脚本支持教程贴◇
  7. 蓝桥杯第八届省赛JAVA真题----Excel地址
  8. 在ubuntu中安装PhantomJS
  9. WPF中ToolTip的自定义
  10. 响应式图片的3种解决方案
  11. noise levels descript
  12. 离线安装ceph集群(ceph-13.2.10)
  13. 简单理解float和double、单精度和双精度
  14. STM32智能小车------PWM驱动直流电机
  15. 初中微型计算机基础评课,初中语文组评课稿---《台阶》
  16. 制造费用分配方法(一)
  17. 饥荒联机下地洞服务器没有响应,《饥荒联机版》TGP版开启洞穴方法 游戏小伙伴赶紧收藏!...
  18. 建长三角智慧城市群,华为给出平台级方案
  19. cadence 16.3中设置层叠结构正片/负片
  20. java comparable null_Java中Comparable和Comparator你知多少?

热门文章

  1. 关于博主帅soserious的一些感想.
  2. Infortrend存储性能稳定,吸引南通市智慧交通监控大力采购
  3. linux qt5.7下打地鼠源程序,QT实现简单打地鼠游戏
  4. Java实现第八届蓝桥杯拉马车
  5. 一起来吐槽:来自暗网的公链项目VAS,竟然内含十级分销?
  6. 网络流问题以及EK算法复杂度分析
  7. factory-method
  8. 东北大学计算机学硕复试分数线,2020年东北大学学硕复试分数线
  9. 无线路由速度简单解释
  10. catlan数和超级catlan数(施罗德数)