nginx 之postread 阶段:获取真实客户端地址的realip 模块
如果拿到真实的用户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 模块相关推荐
- Nginx在多层代理下获取真实客户端IP地址
最近在研究nginx中如何获取真实客户端IP的方法.众所周知,在编译Nginx时,可通过添加http_realip_module模块来获取真实客户端IP地址.何为真实IP地址呢?请看下图,既获取到的真 ...
- 学习笔记 - Nginx在多层代理下获取真实客户端IP地址
最近在研究nginx中如何获取真实客户端IP的方法.众所周知,在编译Nginx时,可通过添加http_realip_module模块来获取真实客户端IP地址.何为真实IP地址呢?请看下图,既获取到的真 ...
- 记一次:java获取真实ip地址问题
前言:在java代码中获取真实ip地址的代码如下所示 /*** 获取客户端IP* * @param request 请求对象* @return IP地址*/public static String g ...
- 老大说,网上这种获取真实IP地址的方法不对,我不信...
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:蔡永吉 来源:http://bit.ly/33H8RMm ...
- NGINX前端代理TOMCAT取真实客户端IP
nginx前端代理tomcat取真实客户端IP 使用Nginx作为反向代理时,Tomcat的日志记录的客户端IP就不在是真实的客户端IP,而是Nginx代理的IP.要解决这个问题可以在Nginx配置一 ...
- 502 proxy error解决方法_老大说,网上这种获取真实IP地址的方法不对,我不信......
作者:蔡永吉 来源:http://bit.ly/33H8RMm想必大家对这段代码并不陌生: public String getIpAddr(HttpServletRequest request) { ...
- php取网盘真实链接,利用蓝奏做个人小文件网盘和获取真实下载地址
原标题:利用蓝奏做个人小文件网盘和获取真实下载地址 之前已经有人分享过蓝奏云盘直链获取教程和源码,但是或已经失效,或只能用于电脑. 按照之前网友分享的思路,对蓝奏的手机端页面进行分析: 分享的网盘链接 ...
- nginx curl命令有效 curl_setopt无效_日志分析系列(外传一):Nginx透过代理获取真实客户端IP...
本系列中的故事纯属虚构,如有雷同实属巧合 小B是Q公司的安全攻城狮,为了完成任务小B开始做起了调研(欲知背景如何,且听下回分说). 首先小B弄明白了Q公司的应用系统架构是:Client --> ...
- Nginx透过代理获取真实客户端IP
本系列中的故事纯属虚构,如有雷同实属巧合 小B是'柒'公司的安全攻城狮,为了完成任务小B开始做起了调研(欲知背景如何,且听下回分说). 首先小B弄明白了'柒'公司的应用系统架构是:Client --& ...
最新文章
- 【转】android自定义控件
- LDD3源码分析之ioctl操作 .
- 使用flink Table Sql api来构建批量和流式应用(3)Flink Sql 使用
- python 量化交易 框架 开源_Hikyuu首页、文档和下载 - 基于 C++/Python 的开源量化交易研究框架 - OSCHINA - 中文开源技术交流社区...
- 把输入字符的小写转换成大写并输出
- android init.d脚本,◇添加init.d脚本支持教程贴◇
- 蓝桥杯第八届省赛JAVA真题----Excel地址
- 在ubuntu中安装PhantomJS
- WPF中ToolTip的自定义
- 响应式图片的3种解决方案
- noise levels descript
- 离线安装ceph集群(ceph-13.2.10)
- 简单理解float和double、单精度和双精度
- STM32智能小车------PWM驱动直流电机
- 初中微型计算机基础评课,初中语文组评课稿---《台阶》
- 制造费用分配方法(一)
- 饥荒联机下地洞服务器没有响应,《饥荒联机版》TGP版开启洞穴方法 游戏小伙伴赶紧收藏!...
- 建长三角智慧城市群,华为给出平台级方案
- cadence 16.3中设置层叠结构正片/负片
- java comparable null_Java中Comparable和Comparator你知多少?