当前位置: 首页 > news >正文

Nginx(二十) 获取真实客户端IP

        客户端在访问互联网应用服务器时,与真实的应用服务器之间会因为有多层反向代理,而导致真实应用服务器获取的仅是最近一层的反向代理服务器 IP。为使 Nginx 后端的上游服务器可以获得真实客户端 IP,Nginx 提供了 ngx_http_realip_module 模块用以实现真实客户端 IP 的获取及传递的功能。
        通过该模块提供的配置指令,用户可以手动设置上层反向代理服务器的 IP 作为授信 IP,Nginx 服务器根据配置指令的配置排除授信 IP,而甄别出真实的客户端 IP 进行日志记录,并传递给上游服务器。模块配置指令如下表所示。

指令名称

指令值格式

默认值

指令说明

set_real_ip_from

address 或 CIDR 或 unix

--

设置授信 IP,IP 网段或 UNIX 套接字

real_ip_header

field 或 X-Real-IP 或 X-For-warded-For 或 proxy_protocol

X-Real-IP

通过指定的 HTTP 头字段获取真实客户端 IP

real_ip_recursive

on 或 off

off

当客户端经多层反向代理到达当前服务器时,指定的 HTTP 头字段中会有多个 IP 地址。默认会以最后一个 IP 为真实客户端 IP,当指令值为 on 时,会以最后一个非信 IP 为真实客户端 IP

该模块指令使用的指令域范围为http、server、location。配置样例如下:

server {listen       8088;access_log  logs/proxy.access.log  main;set_real_ip_from 192.168.2.159;   # 设置192.168.2.159为授信IPreal_ip_header X-Forwarded-For;   # 通过HTTP头字段X-Forwarded-For获取真实客户端IPreal_ip_recursive on;             # 以最后一个非授信IP为真实客户端IPtcp_nodelay off;                  # 因启用缓冲区功能,所以关闭立刻发送功能location ~ ^/ {proxy_force_ranges on;        # 强制启用字节范围请求支持proxy_pass   http://192.168.2.145:8082;break;}
}

相关文章:

Nginx(二十) 获取真实客户端IP

客户端在访问互联网应用服务器时,与真实的应用服务器之间会因为有多层反向代理,而导致真实应用服务器获取的仅是最近一层的反向代理服务器 IP。为使 Nginx 后端的上游服务器可以获得真实客户端 IP,Nginx 提供了 ngx_http_realip_module 模块用…...

【攻防世界】Reverse—— IgniteMe writeup

main函数:首先检查前4个字符是否“EIS{”,如果是,则会进入check函数。如果check返回true,则会显示“Congratulations” int __cdecl main(int argc, const char **argv, const char **envp) {int result; // eaxsize_t i; // [es…...

m1芯片电脑上的paragon15如何安装激活 m1芯片电脑上ntfs for mac如何安装

Paragon NTFS软件在M1芯片电脑上安装之后,最后一步会让我们“允许加载第三方内核扩展”,具体如下图所示。 图1:允许加载第三方内核扩展 按照图中提示“单击此处“,然后打开安全与隐私。接下来依次点击小锁标志进行解锁&#xff0c…...

【DevOps-01]】DevOps介绍

一、简要描述 DevOps:Development & Operations的缩写,也就是开发&运维 DevOps是一个不断提高效率并且持续不断工作的过程。 核心:简化Dev和Ops团队之间的流程,使整体软件开发过程更快速。 DevOps定义: DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和…...

基于PHP的花店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的花店管理系统 一 介绍 此花店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。(附带参考设计文档) 技术栈:phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 …...

《PySpark大数据分析实战》-24.数据可视化图表介绍

📋 博主简介 💖 作者简介:大家好,我是wux_labs。😜 热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP…...

kafka 偏移量的类型与提交方式

kafka checkpoint 在流处理中,“checkpoint” 通常指的是将应用程序的状态保存到可靠的存储系统中,以便在发生故障或应用程序需要重启时能够从先前的状态中恢复。这包括保存处理过的事件、中间结果以及任何其他状态信息。“Checkpointing” 可以确保系统的一致性,并提供容错…...

TCP服务器的编写(下)

我们现在开始对我们的客户端开始封装 我们的客户端,创建完套接字,需不需要bind呢?? 当然是不需要的,你本身是一个客户端,其他人写的应用也可能是客户端,如果我们bind,一定意味着我们…...

Linux系统安全及应用

目录 一、系统安全的加固 1、账号安全的基本措施 1.1 将用户设置为无法登录 1.2 锁定长期不使用的账号 1.3 删除无用的账号 1.4 锁定账号文件passwd、shadow 2、密码安全控制 2.1 设置密码有效期 2.1.1 适用于新建用户 2.1.2 适用于已有用户 2.2 强制用户下次登录一…...

初识Web服务器

一、web服务器 1、什么是web服务器? web服务器就是web项目的容器,我们将开发好的web项目部署到web容器中,才能使用网络中的用户通过浏览器进行访问。 一张图带你了解web服务器有啥作用: 在我的电脑上有一个已经做好的项目&#…...

IOS - 手机安装包 ipa 常见几种方式

安装 ipa 包的方法有很多中,可以通过不同的软件安装,本文只列出了常用的几种,做个简单的归纳整理 1、iTunes 安装 数据线连接手机之后,会自动连接iTunes,(第一次连接的时候会提示是否信任此电脑&#xff0…...

60、resnet50 权值和参数加载

上一节我们将 resnet50 中需要下载的权值,以及每层卷积的参数,都下载并且保存到了 仓库 resnet50_weight 目录,在仓库的这个连接。 在将权值保存好之后,接下来就是要看如何使用这些权值,也就是如何加载。本节就介绍下我们实战过程中,如何加载这些权值。 加载权值 加载权…...

wordpress在界面将站点地址直接修改为https导致上不去问题的解决办法

wordpress在界面将站点地址直接修改为https导致上不去问题的解决办法 #修改数据库yz_options...

数字IC后端实现之快速获取innovus中drv violation的所有net list

在Innovus中place_opt_design和optDesign阶段,我们经常会看到如下所示的log提示信息,核心关键词是“ Reasons for remaining drv violations”。而且告诉我们总共有819条net存在drv violation,且无法被工具优化掉。 Reasons for remaining dr…...

【开源】基于JAVA语言的智能教学资源库系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程档案表3.2.2 课程资源表3.2.3 课程作业表3.2.4 课程评价表 四、系统展示五、核心代…...

数据库定义和操作语句的重要语法

数据库📊的10种语法 数据查询语句 select : 用于从数据库中检索数据。 select column1, column2,.... from table_name where condition; select distinct : 用于从数据库中检索唯一的数据值。 select DISTINCT column1, clumn2,... from table_name; 工作原理…...

计算机组成原理 CPU的功能和基本结构和指令执行过程

文章目录 CPU的功能和基本结构CPU的功能CPU的基本结构 指令执行过程指令周期概念指令执行方案指令数据流取周期数据流析指周期数据流执行周期数据流中断周期数据流 数据通路的功能和基本结构数据通路的功能数据通路的结构单总线 CPU的功能和基本结构 #mermaid-svg-0uHwjZOZh4kS…...

批量归一化:彻底改变深度学习架构

一、介绍 在深度学习的动态领域,批量归一化的引入标志着神经网络训练方法的关键转变。这项创新技术由 Sergey Ioffe 和 Christian Szegedy 在 2015 年提出,已成为现代神经网络架构的基石。它解决了训练深度网络的关键挑战,特别是处理臭名昭著…...

Spring05

一、Spring事务管理入门 1.1、创建数据库和表 创建一个Spring数据库,在Spring数据库中创建tb_account(账户表),并初始化数据。 1.2、编写Service层、Mapper层以及调用层 1.2.1、AccountServiceImpl实现了AccountService接口 1.2.2、Mapper层中的代码 1…...

MvvmToolkit的使用

背景:MvvmLight不更新了,用Toolkit代替 1、首先下载好社区版本的NuGet包 2、ViewModel中需要继承ObservableObject,查看ObservableObject可以看到里面有实现好InotifyPropertyChanged。 3、对于属性的set,可以简写成一行&#xff…...

分布式【一致性Hash算法简介】

一致性Hash是一种特殊的Hash算法,由于其均衡性、持久性的映射特点,被广泛的应用于负载均衡领域,如nginx和memcached都采用了一致性Hash来作为集群负载均衡的方案。 一致性Hash算法简介 在了解一致性Hash算法之前,先来讨论一下Ha…...

PHP命令行脚本接收传入参数的三种方式

1.使用$argv or $argc参数接收&#xff0c;会把文件本身计算在内 $argv&#xff1a; 以数组形式接收保存参数 $argc&#xff1a;保存参数个数 <?php echo "接收到{$argc}个参数"; print_r($argv); //执行 //php /usr/local/php/bin/php test.php 接收到1个…...

【STM32】STM32学习笔记-ADC单通道 ADC多通道(22)

00. 目录 文章目录 00. 目录01. ADC简介02. ADC相关API2.1 RCC_ADCCLKConfig2.2 ADC_RegularChannelConfig2.3 ADC_Init2.4 ADC_InitTypeDef2.5 ADC_Cmd2.6 ADC_ResetCalibration2.7 ADC_GetResetCalibrationStatus2.8 ADC_StartCalibration2.9 ADC_GetCalibrationStatus2.10 A…...

1329:【例8.2】细胞 广度优先搜索

1329&#xff1a;【例8.2】细胞 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 一矩形阵列由数字0 到9组成,数字1到9 代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如: 4 10 0234500067 1034560500 2045600671 00000000…...

9款免费网络钓鱼模拟器详解

根据《2023年网络钓鱼状况报告》显示&#xff0c;自2022年第四季度至2023年第三季度&#xff0c;网络钓鱼电子邮件数量激增了1265%。其中&#xff0c;利用ChatGPT等生成式人工智能工具和聊天机器人的形式尤为突出。 除了数量上的激增外&#xff0c;网络钓鱼攻击模式也在不断进…...

linux cpu、memory 、io、网络、文件系统多种类型负荷模拟调测方法工具

目录 一、概述 二、stress介绍和使用 2.1 介绍 2.2 使用 三、stress-ng介绍和使用 3.1 介绍 3.2 使用 3.3 实例 四、sysbench 4.1 介绍 4.2 使用 五、lmbench 5.1 介绍 5.2 使用 一、概述 今天介绍两款cpu负荷调试工具,用来模拟多种类型的负载。主要用来模拟CPU…...

1018:奇数偶数和1028:I love 闰年!和1029:三角形判定

1018&#xff1a;奇数偶数 要求&#xff1a;输入一个整数&#xff0c;判断该数是奇数还是偶数。如果该数是奇数就输出“odd”&#xff0c;偶数就输出“even”&#xff08;输出不含双引号&#xff09;。 输入样例&#xff1a;8 输出样例&#xff1a;even 程序流程图&#xff1a…...

数据密集型应用系统设计--第2章 数据模型与查询语言

一、引言 数据模型可能是开发软件最重要的部分,而且还对如何思考待解决的问题都有深远的影响。 大多数应用程序是通过一层一层叠加数据模型来构建的。每一层都面临的关键问题是&#xff1a;如何将其用下一层来表示&#xff1f; 1.作为一名应用程序开发人员&#xff0c;观测现实…...

yolo 分割label格式标注信息图片显示可视化查看

参考: https://github.com/ultralytics/ultralytics/issues/3137 https://blog.csdn.net/weixin_42357472/article/details/135218349?spm=1001.2014.3001.5501 需要把坐标信息在图片上显示 代码 1)只画出了坐标边缘 import cv2 import numpy as np from random impor…...

霍兰德职业兴趣测试 60题(免费版)

霍兰德职业兴趣理论从兴趣的角度出发探索职业指导的问题&#xff0c;明确了职业兴趣的人格观念&#xff0c;使得人们对于职业兴趣的认识有了质的变化。在霍兰德职业兴趣理论提出来之前&#xff0c;职业兴趣和职业环境二者分别独立存在&#xff0c;正是霍兰德的总结&#xff0c;…...

辽宁模板网站建设公司/深圳百度公司地址在哪里

前言 传送门 : 熬夜掉分 A. 题意 : 给定你一个数组,询问是否可以通过有限次操作,使得数组的值相同 操作定义如下 : 选择数组中(n−1)(n-1)(n−1)个数,将选中的每个数变为这些数的平均数(不进行取整操作) 思路: 证明不来 code : int a[N]; int n;void solve(){cin>&g…...

一些做淘宝优惠券的网站/windows7优化大师官方下载

引子每周我家都会举行一个复盘活动&#xff0c;复盘自己的优点、缺点&#xff0c;干得好的、不好的。在复盘活动上&#xff0c;老公每次只能想到自己的优点&#xff0c;觉得自己特完美。嗯……我的角度看完全不是这样。举个例子&#xff0c;他是典型的双标。如果他加班特别晚&a…...

网站怎么做百度优化/产品如何做网络推广

ECMA-262把对象定义为&#xff1a;“无序属性的集合&#xff0c;其属性可以包含基本值、对象或者函数“。我们可以把ECMAScript的对象想象成散列表&#xff1a;一组名值对&#xff0c;其中值可以使数据或函数。每个函数都有一个prototype属性&#xff0c;这个属性是一个对象&am…...

哈尔滨工程招投标信息网/优化关键词排名seo软件

今天&#xff0c;我们这里要说的就是在GridView里面如何新添加一行“删除”列&#xff0c;如何删除前弹出通知等。 首先&#xff0c;我们前端的代码如下&#xff1a; <asp:GridView ID"gridViewDxjk" CssClass"gridview" runat"server" Allow…...

wordpress wap html 博客系统/企业网络推广技巧

话说misc系列可以说是调剂放松了&#xff0c;web和crypto做吐了&#xff0c;就来做点简单的misc放松一下。 1.N种方法解决 乍一看以为真是个exe&#xff0c;我还拖进IDA看了一波&#xff0c;结果还是吃了没见识的亏&#xff0c;后来IDA无果&#xff0c;拖进winhex看发现是一个…...

班级网站怎么做ppt/郑州seo优化顾问热狗

本文为大家分享了virtualenv建立多个Python独立虚拟开发环境&#xff0c;供大家参考&#xff0c;具体内容如下1、安装virtualenv&#xff1a;pip install virtualenv2、创建一个python的虚拟环境&#xff1a;virtualenv test_demo用virtualenv创建虚拟环境&#xff0c;是通过复…...