EdgeOne Logo
Documentation
请选择
请选择
Overview
Menu

方式二:在业务服务器解析客户端真实 IP

使用场景

场景一:如果您的源站服务为 UDP 协议,仅 Proxy Protocol V2 支持 UDP 协议传递真实客户端 IP。但由于 Nginx 不支持对 Proxy Protocol V2 UDP 场景下协议的解析,因此需要在业务服务器上自行完成对 Proxy Protocol V2 协议的解析以获取客户端真实 IP。
场景二:如果您当前源站服务为 TCP 协议,但是需要在业务源站服务器内通过客户端真实 IP 进行业务判断时,您需要在业务服务器上自行完成对 Proxy Protocol V1/V2 协议的解析来获取客户端真实 IP。

部署框图




如上图所示,您可以通过 EdgeOne 四层代理模块,配置四层代理指向您的业务服务器,由 EdgeOne 四层代理服务在传输数据中添加 Proxy Protocol 字段,业务服务器进行解析。

操作步骤

步骤一:配置四层代理转发规则

前往控制台内的四层代理服务,修改四层代理转发规则,填写对应的业务源站地址、源站端口,如果您当前的转发协议为 UDP,传递客户端 IP 选择为 Proxy Protocol V2。如果当前的转发协议为 TCP,则传递客户端真实 IP 选择为 Proxy Protocol V1/V2 均可。




步骤二:在业务服务器解析 Proxy Protocol 字段获取真实客户端 IP

您需要参考 Proxy Protocol 协议 内的 sample code 开发解析 Proxy Protocol 字段,获取的客户端 IP 格式可参考:Proxy Protocol V1/V2 获取的客户端真实 IP 格式

在 UDP 传输场景中,使用 Proxy Protocol V2 版本时,会将 Proxy Protocol 字段添加到第一个 UDP 数据报文上。其中①四层代理出口 IP、②源站地址、③协议版本、④Proxy Protocol 字段、⑤真实客户端地址、⑥业务数据。