Nginx中realip获取

本文介绍了在Nginx中如何通过realip模块获取客户端真实IP,解析了set_real_ip_from、real_ip_header和real_ip_recursive三个指令的功能,并通过一个实验场景解释了它们的用法。当代理和CDN存在时,正确配置这些指令能确保获取到真实的访问者IP。
摘要由CSDN通过智能技术生成

我们都知道,在Nginx中,想获取来源的IP,我们可以通过$remote_addr 来获取,但是很多时候,请求会经过多个中间代理或CDN,从而导致我们根本无法准确的获取客户端的真实IP, 为解决这种问题,Nginx提供了realip模块来实现客户端IP的获取,详细信息参见:ngx_http_realip_module

此模块提供了三个指令:set_real_ip_from, real_ip_header,real_ip_recursive,其功能如下:

  • set_real_ip_from:指定IP的来源信息,用于排除中间代理IP,可以填写IP或网段。
  • real_ip_header:指定从Header的哪个属性里面取IP信息,常用的是 X-Forwarded-For
  • real_ip_recursive:是否递归的排除中间代理IP信息,默认值为off,如果值设置为off,则只会排除直接上层代理的IP信息,如果值为on,则会从右至左依次排除用户配置的中间IP,直到遇到第一个非指定的IP,将此IP设置为真实IP。

虽然只有三个指令,但是其功能都是比较晦涩难懂的,下面我通过一个实验,来揭示此模块的功能及用法:

实现环境:

  • 访问源IP:10.38.160.252

  • 代理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值