阿里云获取nginx头部

news2024/12/26 6:39:59

k8s 配置

可以修改kube-system/nginx-configuration configmap的方式,
compute-full-forwarded-for: “true”
forwarded-for-header: “X-Forwarded-For”
use-forwarded-headers: “true”
https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/nginx-ingress-faq?spm=a2c4g.11186623.0.i3#section-ril-3ys-j8u
在这里插入图片描述
这里加好后,


// 定义可能包含客户端IP地址的HTTP头部
var headers = []string{ "X-Forwarded-For","X-Real-Ip","X-Original-Forwarded-For", "Ali-Cdn-Real-Ip", "Remote_addr"}

// GetIPSourse 获取用户来源
func GetIPSourse(c *gin.Context) string {
	for _, header := range headers {
		ip := c.Request.Header.Get(header)
		if ip != "" {
			// 如果头部值包含多个IP(如X-Forwarded-For),则取第一个
			ip = strings.Split(ip, ",")[0]
			ip = strings.TrimSpace(ip) // 清除可能的空格
			return ip
		}
	}

	// 如果前面的头部都没有找到,使用RemoteAddr
	ip := c.Request.RemoteAddr
	// 只获取IP部分,忽略端口号
	if ip != "" {
		ip = strings.Split(ip, ":")[0]
		return ip
	}

	// 如果所有方法都没有找到IP,则返回空字符串
	return ""
}

测试一下

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

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

相关文章

Day01-01-git

Day01-01-git Content List0. 运维发展过程1. ci-cd-co基础1.1 软件的生命周期1)软件的声明周期:软件从0-->1-->0过程2)ci/cd3)Devops4) 小结 1.2 什么是环境1.3 什么是代码部署1.4 代码发布方式 3. DevSecOpt之Git极速入门…

INTERCONNECT 中使用库中器件制作一个损耗为 3 dB /m 的直波导

INTERCONNECT 中使用库中器件制作一个损耗为 3 dB /m 的直波导 正文 正文 首先,插入以下器件并连接。 其次,设置直波导 WGD_1 的器件参数,如下图所示: 运行仿真,在 ONA 中查看 gain 值。 可以看到,对应…

C++入门——日期类的实现

前言 生活中,我们时不时会遇到算天数的问题:高考倒计时、考研倒计时、过年倒计时...... 想解决这些问题无非就是实现一个年月日的计算器,那要怎么来实现呢? 下面就让我们来探究一下。 1.了解日期计算器的需求 1.1 表面需求 …

Java实现链表

链表 前言一、链表的概念及结构二、链表的分类三、链表的实现无头单向非循环链表实现无头双向链表实现具体代码 四、链表习题五、顺序表和链表的区别 前言 推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我…

Linux shell编程学习笔记50:who命令

0 前言 2024年的网络安全检查又开始了,对于使用基于Linux的国产电脑,我们可以编写一个脚本来收集系统的有关信息。比如,我们可以使用who命令来收集当前已登陆系统的用户信息,当前运行级别等信息。 1. who命令 的功能、格式和选项…

再论任何图≌自己这一几何最最起码常识推翻平面公理

黄小宁 有了解析几何使人类对直线和射线的认识有革命性的飞跃。几何学有史2300年来一直认定起点和射出的方向都相同的射线必重合,任两异射线必有全等关系;解析几何使我发现这是2300年肉眼直观错觉。 h定理(参考文献中的定理)&am…

中国自动分拣行业TOP5玩家:大盘点(年收入开局12亿……)

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 随着物流行业的迅猛发展,自动分拣技术正成为提升物流效率的关键。中国自动分拣行业的几家领军企业在2023年展现了各自的战略…

1+x(Java)中级题库易混淆理论题(二)

冷备份实质就是数据库相关文件的复制 System.in是字节流 Map集合中的key是无序的 protected不能用于修饰类 接口中所有抽象方法默认使用public修饰 DML操作有:INSERT UPDATE DELETE SQL 语句中进行 group by 分组时,可以不写 where 子句 使…

【Web】2024 京麒CTF ezjvav题解

目录 step 0 step 1 step 2 EXP1 EXP2 step 0 进来是一个登录框 admin/admin成功登录 访问./source jwt伪造 带着伪造的jwt访问./source,拿到题目源码jar包 step 1 pom依赖有spring、fj、rome 反序列化入口在./Jsrc路由 有两层waf,一个是明…

【Docker】docker-compose 常用命令

启动服务: docker-compose up 如果你想在后台运行服务,可以添加 -d 标志: docker-compose up -d 开启所有服务 docker-compose start 停止服务: docker-compose down 查看服务状态: docker-compose ps 查看…

mumu 模拟器安装

1.下载安装 下载地址 Win 历史版本:http://mumu.163.com/update/win/Mac 历史 版本:http://mumu.163.com/20200515/25905_880858.html 2.设置为竖屏 在设置中心--界面设置页面设置宽720,高1280,DPI为240,如下图所示。…

读人工智能时代与人类未来笔记16_科学发现

1. 科学发现 1.1. 科学认识的发展往往涉及理论和实验之间的巨大差距以及大量的试错 1.2. 模型不是像传统的那样来自理论理解,而是来自基于实验结果得出结论的人工智能 1.2.1. 这种方法需要的专业知识不同于开发理论模型或传统计…

APM2.8下载固件的方法(两种办法详解)

1.把APM飞控用安卓手机的USB线插入电脑。 选择COM口,不要选择auto,如果你没有COM口说明你驱动安装有问题。 波特率115200。点击相应的图标就可以下载固件到飞控板。 请注意:烧录APM必须选择INSTALL FIRMWARE LEAGACY,第一个是用于刷pixhawk的…

C语言实现Hash Map(3):Map代码优化

在上一节中,我们学习了C语言实现Hash Map(2):Map代码实现详解,通过代码,我们更深入地了解了Map实现的原理,学习了如何通过key找到对应的桶并加入节点。也正如上一节提到的,虽然这是github中star比较多的代码…

Android数据缓存框架 - 内存数据载体从LiveData到StateFlow

引言:所有成功者的背后,都有一份艰苦的历程,不要只看到了人前的风光,而低估了他们背后所付出的努力。 随着flow到流行度越来越高,有开发者呼吁我使用flow,于是我就如你们所愿,新增了StateFlow作…

C语言 | Leetcode C语言题解之第115题不同的子序列

题目&#xff1a; 题解&#xff1a; int numDistinct(char* s, char* t) {int m strlen(s), n strlen(t);if (m < n) {return 0;}unsigned long long dp[m 1][n 1];memset(dp, 0, sizeof(dp));for (int i 0; i < m; i) {dp[i][n] 1;}for (int i m - 1; i > 0;…

工控屏(触摸屏)怎么连接电脑

一、使用USB接口连接 连接方法&#xff1a;使用USB线连接触摸屏和电脑&#xff0c;触摸屏会自动识别并连接到电脑上。 二、使用HDMI接口连接 连接方法&#xff1a;1.首先要确认您的触摸屏是否有HDMI接口&#xff1b;2.将一端连接到触摸屏&#xff0c;另一端连接到电脑&#…

台式机安装ubuntu过程

1.单系统参考 20231210-超详细Ubuntu20.04单系统安装_台式机安装ubuntu系统-CSDN博客 2.双系统参考 双系统启动效果_哔哩哔哩_bilibili 安装前一定要先清空电脑的硬盘数据&#xff0c;不然可能会出现以下图片异常 意思估计是分区被占用了&#xff0c;出现这个问题 &#xff0…

GeoJSON数据转shp文件

利用QGis工具,使用GeoJSON数据转换生成shp文件,用于GeoServer发布shp图层服务。 首先准备一份GeoJSON文件,文件格式为“.json”,文件接入如下: 详细操作如下: 1、启动QGis工具 2、从左上角找到按钮“open data source manager”,点击打开数据源 3、选择数据源,显示如…

vue3 uni-app 中小程序实现 底部tabbar 中间凸起部分 或者说自定义底部tabbar [保姆级别教程]

1、先来看一下效果 2、代码实现 我们还是在 pages.json 中正常配置我们底部的tabbar 但是需要 添加一个字段 "custom": true, //开启自定义tabBar 不填每次原来的tabbar在重新加载时都回闪现 3、 在 pages同一级 或者 里面创建一个 子组件 用来放我们的模版 4、 …