实现客户端真实 IP 透传的协议 PROXY protocol 详解

目录

什么是 PROXY protocol?

工作原理

PROXY protocol v1

PROXY protocol v2

使用场景

实现与配置示例

使用 PROXY protocol 注意事项

小结


在现代网络架构中,代理服务器发挥着至关重要的作用,可以提供缓存、负载均衡和安全等功能。代理服务器因为位于客户端和真实服务器之间,会接收来自客户端的原始连接,并向真实服务器发起新的连接,这就导致真实服务器无法直接获取到客户端的原始 IP 地址和其他相关信息,真实服务器所有信息都显示为来自代理服务器。

为了解决这个问题,HAProxy 提出了一个称为“PROXY protocol”的解决方案。通过使用该方案,代理服务器可以将客户端的真实信息封装在一个简单的头部中,并传递给后端服务器。这样,后端服务器就可以获取到客户端的 IP 地址、端口以及其他可能有用的信息,而无需对现有网络结构做出重大调整。

什么是 PROXY protocol?

PROXY protocol 是一种用于在代理服务器和后端服务器之间传输客户端连接信息的协议,旨在解决由于使用代理而导致的真实客户端信息丢失的问题。

工作原理

PROXY protocol 是应用在传输层的,位于传输协议(比如 TCP)之上。当客户端与服务器建立连接时,会在连接中添加一个包含了客户端连接信息的头信息。

具体来说,代理服务器在接收到来自客户端的连接请求后,会在与后端服务器建立连接之前,先发送一个 PROXY protocol 头信息。这个头信息详细记录了源 IP 地址、目标 IP 地址、源端口和目标端口等关键信息。后端服务器在接收到这些信息后,便可以根据客户端的实际信息进行日志记录、访问控制等操作。这样的设计使得后端服务器能够更准确地识别和处理来自客户端的请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路多辛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值