tencent cloud

文档反馈

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

最后更新时间:2023-09-11 17:43:42

    使用场景

    场景一:如果您的源站服务为 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 字段、⑤真实客户端地址、⑥业务数据。
    
    
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持