《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——负载均衡CLB(中)-最佳实践(3)

简介: 《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——负载均衡CLB(中)-最佳实践(3)

《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——负载均衡CLB(中)-最佳实践(2) https://developer.aliyun.com/article/1230686?groupCode=supportservice



3. 获取客户端真实IP

 

在不同的监听下,获取客户端真实的IP地址的方式不同,如下图:

 

image.png

 

IPv4四层监听

ü 通过toa可直接获取到客户端真实IP

ü 可通过Proxy Protocol获取客户端真实IP

 

IPv6四层监听

ü 可通过Proxy Protocol获取客户端真实IP

 

七层监听

ü 通过请求头中的x-forwarded-for获取客户端真实IP

 

1) 通过toa获取客户端真实IP

 

image.png

 

目标IP为VPC下绑定了EIP的SLB,五元组如下

120.195.13.68:12345-TCP->123.56.169.153:443

 

TCP三次握手第三个ACK包的完整十六进制dump,加粗部分即为完整的TCP Option

0000 00 16 3e 34 07 96 58 60 5f 72 1e 00 08 00 45 14

0010 00 3c ac a3 40 00 2f 06 e9 7b 64 79 b8 15 0a 19

0020 8e e1 7c da 01 bb 88 77 6a 56 ad 5c bc aa a0 10

0030 00 e5 35 62 00 00 fc 14 30 39 78 c3 0d 44 19 70

0040 09 00 c0 a8 00 5b 01 bb 01 01

 

依次为

TCP Option Kind==2520xfc

长度从Kind开始算):20字节0x14

客户端源端口12345->30 39网络字节序/大端

客户端IP地址120.195.13.68->78 c3 0d 44

VPC TunnelID618521->19 70 09 00主机字节序/小端

Vip192.168.0.91->c0 a8 00 5b

Vport443->01 bb网络字节序/大端

 

2) 通过Proxy Protocol获取客户端真实IP

 

五元组

120.195.13.68.34270-TCP->47.98.108.43.10086

 

0000 00 16 3e 12 90 f5 ee ff ff ff ff ff 08 00 45 00

0010 00 8c 7a b7 40 00 66 06 49 cb 78 c3 0d 44 c0 a8

0020 09 3a 85 de 01 bb 10 a9 24 18 c2 df 78 02 50 18

0030 13 88 64 6f 00 00 0d 0a Od 0a 00 Od 0a 51 55 49

0040 54 0a 21 11 00 54 78 c3 0d 44 2f 62 6c 2b 85 de

0050 27 66 03 00 04 8a 65 79 c5 04 00 3e 0o 00 00 00

0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0090 00 00 00 00 00 00 00 00 00 00

 

从加粗的第0x36个字节开始,是TCP的payload加粗部分接下去就是

 

12个字节是Proxy Protocol的固定签名

\x0D\x0A\x0D\x0A\x00\x0D\x0A\x51\x55\x49\x54\x0A

4bit的版本号,这里是0x2,意为V2的版本

4bit的command,这里是0x1,意为Proxy0x0==Local

4bit的地址族,这里是0x1,意为AF_INETIPv4,其余的为0x0// AF_UNSPEC 0x2 // AF_INET6IPv60x3 //AF_UNIX

4bit的transport protocol,提示接下去是哪一种传输层的协议,这里是0x1,意为STREAMTCP,其余的为0x0 //UNSPEC 0x2 // DGRAMUDP

2字节表明接下去的长度,网络字节序,这里是0x0054==84,说明接下去的84字节都是PP本身的payload斜体部分

4字节的源IP,78 c3 0d 44转换成点分十进制即为120.195.13.68

4字节的目标IP,2f 62 6c 2b转换成点分十进制即为47.98.108.43

2字节的源端口,网络字节序,0x85de==34270

2字节的目标端口,网络字节序,0x2766==10086

 

3) 通过请求头中的x-forwarded-for获取真实客户端IP

 

在后端ECS上抓包,打印请求头中包含以下key-value:

X-Forwarded-For用户真实IP,代理服务器1-IP,代理服务器2-IP,……

 

image.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
5月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
|
缓存 数据安全/隐私保护 Kotlin
Kotlin 中的网络请求代理设置最佳实践
Kotlin 中的网络请求代理设置最佳实践
|
容灾 网络协议 数据库
云卓越架构:云上网络稳定性建设和应用稳定性治理最佳实践
本文介绍了云上网络稳定性体系建设的关键内容,包括面向失败的架构设计、可观测性与应急恢复、客户案例及阿里巴巴的核心电商架构演进。首先强调了网络稳定性的挑战及其应对策略,如责任共担模型和冗余设计。接着详细探讨了多可用区部署、弹性架构规划及跨地域容灾设计的最佳实践,特别是阿里云的产品和技术如何助力实现高可用性和快速故障恢复。最后通过具体案例展示了秒级故障转移的效果,以及同城多活架构下的实际应用。这些措施共同确保了业务在面对网络故障时的持续稳定运行。
|
数据采集 存储 监控
网络爬虫的最佳实践:结合 set_time_limit() 与 setTrafficLimit() 抓取云盘数据
本文探讨了如何利用 PHP 的 `set_time_limit()` 与爬虫工具的 `setTrafficLimit()` 方法,结合多线程和代理 IP 技术,高效稳定地抓取百度云盘的公开资源。通过设置脚本执行时间和流量限制,使用多线程提高抓取效率,并通过代理 IP 防止 IP 封禁,确保长时间稳定运行。文章还提供了示例代码,展示了如何具体实现这一过程,并加入了数据分类统计功能以监控抓取效果。
348 17
网络爬虫的最佳实践:结合 set_time_limit() 与 setTrafficLimit() 抓取云盘数据
|
安全 物联网 物联网安全
探索未来网络:物联网安全的最佳实践
随着物联网设备的普及,我们的世界变得越来越互联。然而,这也带来了新的安全挑战。本文将探讨在设计、实施和维护物联网系统时,如何遵循一些最佳实践来确保其安全性。通过深入分析各种案例和策略,我们将揭示如何保护物联网设备免受潜在威胁,同时保持其高效运行。
394 5
|
运维 负载均衡 监控
提升系统性能:高效运维的秘密武器——负载均衡技术
在当今数字化时代,系统的高可用性和高性能成为各类企业和组织追求的目标。本文旨在探讨负载均衡技术在运维工作中的关键作用,通过深入分析其原理、类型及实际应用案例,揭示如何利用这项技术优化资源分配,提高系统的响应速度和可靠性,确保用户体验的稳定与流畅。无论是面对突如其来的高流量冲击,还是日常的运维管理,负载均衡都展现出了不可或缺的重要性,成为现代IT架构中的基石之一。
757 4
|
机器学习/深度学习 安全 物联网安全
探索未来网络:物联网安全的最佳实践与创新策略
本文旨在深入探讨物联网(IoT)的安全性问题,分析其面临的主要威胁与挑战,并提出一系列创新性的解决策略。通过技术解析、案例研究与前瞻展望,本文不仅揭示了物联网安全的复杂性,还展示了如何通过综合手段提升设备、数据及网络的安全性。我们强调了跨学科合作的重要性,以及在快速发展的技术环境中保持敏捷与适应性的必要性,为业界和研究者提供了宝贵的参考与启示。
|
负载均衡 Java 对象存储
负载均衡策略:Spring Cloud与Netflix OSS的最佳实践
负载均衡策略:Spring Cloud与Netflix OSS的最佳实践
305 2
|
SQL 安全 API
数字堡垒之下:网络安全漏洞、加密技术与安全意识的博弈探索RESTful API设计的最佳实践
【8月更文挑战第27天】在数字化浪潮中,网络安全成为守护个人隐私与企业资产的关键防线。本文深入探讨了网络漏洞的成因与影响,分析了加密技术如何为数据保驾护航,并强调了提升公众的安全意识对于构建坚固的信息防御系统的重要性。文章旨在为读者提供一场思维的盛宴,启发更多关于如何在日益复杂的网络世界中保护自己的思考。
|
开发者 图形学 API
从零起步,深度揭秘:运用Unity引擎及网络编程技术,一步步搭建属于你的实时多人在线对战游戏平台——详尽指南与实战代码解析,带你轻松掌握网络化游戏开发的核心要领与最佳实践路径
【8月更文挑战第31天】构建实时多人对战平台是技术与创意的结合。本文使用成熟的Unity游戏开发引擎,从零开始指导读者搭建简单的实时对战平台。内容涵盖网络架构设计、Unity网络API应用及客户端与服务器通信。首先,创建新项目并选择适合多人游戏的模板,使用推荐的网络传输层。接着,定义基本玩法,如2D多人射击游戏,创建角色预制件并添加Rigidbody2D组件。然后,引入网络身份组件以同步对象状态。通过示例代码展示玩家控制逻辑,包括移动和发射子弹功能。最后,设置服务器端逻辑,处理客户端连接和断开。本文帮助读者掌握构建Unity多人对战平台的核心知识,为进一步开发打下基础。
975 0

热门文章

最新文章

相关产品

  • 负载均衡