nginx代理设置时能获取到源IP地址的方法

news2025/1/16 5:42:50

nginx通过http_x_forwarded_for限制来访IP示例_ngnix 根据header的x-forwarded-for限制接入-CSDN博客

名称ip
客户端地址10.0.23.90
nginx服务器地址110.0.202.48:18888,代理到10.0.204.82:8888
nginx服务器地址210.0.204.82:8888,代理到10.0.204.82:8887
后端服务器地址10.0.204.82:8887

应用场景:在访问控制时要获取到源ip与白名单进行比对,如何获取源ip?特别是在有代理的情况下。

1 如果是一层代理,在server中添加以下设置

          # 上一个节点的ip

           proxy_set_header  X-Real-IP $remote_addr;   

            #proxy_add_x_forwarded_for变量包含ip的链路,$http_x_forwarded_for与$remote_addr两部分,他们之间用逗号分开
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

其中 X-Forwarded-For 和 X-Real-IP都为源ip

nginx配置中$http_host、$host、$host:$proxy_port和$host:$server_port区别_nginx $host-CSDN博客

2 如果是两层代理

        则外层代理设置:

      # 通过REMOTE-HOST 记录第一层nginx请求时客户端的ip

           proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;      
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    里层代理设置为

            proxy_set_header  X-Real-IP $remote_addr;
            proxy_set_header  Host   $host:$server_port;
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
       

REMOTE-HOST为源ip

打印后端的header

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1968139.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

充电宝买多少毫安的好?选充电宝这几个关键点必看!

在如今这个电子设备不离手的时代,充电宝成为了我们生活中的必备品。然而,面对市场上琳琅满目的充电宝,选择合适容量的充电宝却让许多人感到困惑。充电宝买多少毫安的好?这可不是一个简单的问题。容量太小,无法满足我们…

20240802 每日AI必读资讯

🌐太离谱!曝GPT-4o mini没做安全测试就开庆功会! - OpenAI曾向美国政府承诺,将严格对其前沿的突破性技术进行安全测试,以确保AI不会造成损害,比如教用户制造生化武器或帮助黑客开发新型网络攻击。 - Open…

canvas根据图片生成粒子动画

canvas根据图片生成粒子动画 效果展示: canvas根据图片生成粒子动画效果 注意: js和css的引入 id: cartoonDot-img对应的是被 拷贝的图像,后期要替换的 粒子图像就在这 min.js 地址 HTML代码块 <!DOCTYPE html> <html><head><meta charset=&quo…

面向对象编程在Python中的应用

引言 面向对象编程&#xff08;Object-Oriented Programming, OOP&#xff09;是一种程序设计范式&#xff0c;它使用“对象”来设计软件。在Python中&#xff0c;OOP提供了一种结构化的方式来组织代码&#xff0c;使得程序更加易于理解和维护。本文将介绍一些基本的面向对象编…

洗地机哪个品牌好用?智能洗地机品牌排行榜揭晓

在追求家居清洁智能化的今天&#xff0c;洗地机品牌众多&#xff0c;选择一款好用且智能的洗地机成了许多家庭的关注点。本文精心揭晓智能洗地机品牌排行榜&#xff0c;为大家精选出市场上性能卓越、用户口碑极佳的品牌&#xff0c;如滴水、以内、希亦等&#xff0c;它们凭借创…

电池数据巡检时发现的数据问题处置措施

电池监控系统在日常使用中需要关注电压不均告警和内阻不均告警&#xff0c;对偏差大的单体电池核实处理。 一、电池单体电压偏差 出现电池单体电压偏差有两种情况&#xff0c;一种是电池故障&#xff0c;另一种是电池单体采集模块故障。现场需要用万用表对异常单体电压进行测量…

轻松入门Linux—CentOS,直接拿捏 —/— <5>

一、Linux常用工具 1、tar打包命令详解 当 tar 命令用于打包操作时&#xff0c;该命令的基本格式为&#xff1a; tar [选项] 源文件或目录 常用选项&#xff1a; 1.1 打包文件 例如&#xff0c;我有几个文件&#xff0c;将他们打包成一个文件&#xff0c;以tar结尾的后缀名 …

新手小白,如何新建一个springboot的web项目?

第一步&#xff1a;打开软件&#xff0c;点击file&#xff0c;点击new 然后选择module&#xff0c;在右侧选择springboot 第二步&#xff1a;选择配置和JDK以及java版本 ①选择maven类型 ②选择JDK1.8版本 ③选择java8版本 ④选择jar包类型 如果不知道或者找不到配置8版本&…

【JVM】类加载器和双亲委派模型

什么是类加载器 如果想要了解什么是类加载器就需要清楚一个Java文件是如何运行的。我们可以看下图&#xff1a; 首先要知道操作系统是不能直接运行Java文件的&#xff0c;所以就需要通过JVM将Java文件转换为操作系统可以运行的文件类型&#xff0c;步骤如下&#xff1a; 类加…

lua学习(1)

1. lua 字符串 单个引号和双引号都可变量的定义默认是全局的删除一个变量将其赋值为nil即可 如&#xff1a; bnilnil还可以对表中的数据进行删除&#xff0c;也可删除一个表只要变量不是nil&#xff0c;变量即存在标识符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后&am…

网安加·百家讲坛 | 高明:模糊测试技术在车联网安全性评估中的应用

作者简介&#xff1a;高明&#xff0c;信息安全硕士&#xff0c;10年以上软件安全开发和产品架构设计经验。成功主导多个模糊测试和车联网安全相关的产品研发与项目实施&#xff0c;并参与网络安全产品相关行业标准的编写。擅长产品规划和敏捷项目管理&#xff0c;持有PMP、PgM…

SFP-8636 QSFP光模块解析学习

对于QSFP 100G模块,我们参考SFF-8636协议文档,暂时访问的寄存器一般位于page0, 此时0x7f写0即可, 1,状态静态数据 -->iic read 1 0 a0 80 Read i2c_bus[1] dev_addr[0xa0] reg[0x80] success, r_data[0xd] -->iic read 1 0 a0 82 Read i2c_bus[1] dev_addr[0x…

如何实现AI无人带货直播间?

在数字化时代&#xff0c;直播电商已成为推动商品销售的重要力量&#xff0c;随着人工智能(AI)技术的不断发展&#xff0c;AI无人带货直播间作为一种创新的商业模式正逐渐崭露头角。 这种直播间通过集成先进的AI技术&#xff0c;如自然语言处理、图像识别、机器学习等&#xf…

园区导航小程序:一站式解决园区导航问题,释放存储,优化访客体验

随着园区的规模不断扩大&#xff0c;功能区划分日益复杂&#xff0c;导致访客和新员工在没有有效导航的情况下容易迷路。传统APP导航虽能解决部分问题&#xff0c;但其下载安装繁琐、占用手机内存大、且非高频使用导致的闲置&#xff0c;让许多用户望而却步。园区导航小程序的出…

武汉流星汇聚:跨境电商助力中国卖家打造全球品牌,赢得国际声誉

在全球零售电商行业稳健增长的大潮中&#xff0c;跨境电商平台如同一座桥梁&#xff0c;连接着中国卖家与全球消费者&#xff0c;不仅促进了商品的快速流通与市场的广泛覆盖&#xff0c;更为中国卖家提供了提升品牌知名度和美誉度的宝贵机遇。 随着全球化进程的加速&#xff0…

arduino程序-逻辑控制(基础知识)

arduino程序-逻辑控制&#xff08;基础知识&#xff09; 1-15 逻辑控制1-按键开关控制LED效果演示输入上拉模式电路示例程序 1-16 逻辑控制2-布尔变量逻辑表达式改写程序&#xff08;使用布尔运算&#xff09;程序上传及效果演示回顾知识 1-17 逻辑控制3-布尔运算效果演示布尔运…

Spring Boot使用Disruptor做内部高性能消息队列

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 背景 在现代应用开发中&#xff0c;特别是在构建高并发、低延迟的系统时&#xff0c;内部高性能消息队列的作用变得尤为重要。内部高性能消息队列&#xff0c;如Disruptor&#xff0c;为应用提供了一种高效、…

springboot使用jdk生成自签名证书

1.背景 许多生产中服务端应用系统需要ssl认证&#xff0c;走https访问&#xff0c;以满足等保要求。 有些前后端一体的项目工程&#xff0c;完全可以用jdk生成证书&#xff08;本章节介绍此&#xff09;&#xff1b; 若是前后端分离&#xff0c;使用nginx代理部署的&#xf…

Selenium怎么进行自动化测试?8年老鸟的我是这样做的...

自动化测试是软件测试过程中的重要一环&#xff0c;它可以帮助我们提高测试效率、减少重复工作&#xff0c;同时还可以提升测试的准确性。Selenium是一个广泛使用的自动化测试工具&#xff0c;它可以模拟用户在网页上的操作&#xff0c;比如点击、输入、检查元素等。 本文将从…