全球加速 GA-GA获取客户端源IP:通过Proxy Protocol协议获取客户端源IP

时间:2025-02-12 15:15:30

通过Proxy Protocol协议获取客户端源IP

本节以终端节点类型为EIP,后端服务使用Nginx为例,介绍如何开启Proxy Protocol功能,并查看已获取的客户端源IP。

  1. 提交工单,开启Proxy Protocol功能。
  2. 在后端服务器上开启Proxy Protocol功能。

    Nginx的http{}和stream{}模块均可以接收Proxy Protocol,在http{}模块或stream{}模块中添加相应处理Proxy Protocol的端口。

    http {    #...    server {        listen 8080 proxy_protocol;    #在8080端口,开启解析proxy protocol。        #...    }}stream {    #...    server {        listen 8090 proxy_protocol;    #在8090端口,开启解析proxy protocol。        #...    }}
  3. 获取客户端源IP。

    开启Proxy Protocol后,Nginx会将客户端源IP保存在变量proxy_protocol_addr中,可以将其保存在日志中。

    http {    #...    log_format  main  '[$time_local] $proxy_protocol_addr : $proxy_protocol_port $host "$request" '    '$status $body_bytes_sent "$http_referer" '    '"$http_user_agent" "$http_x_forwarded_for"';}stream {    #...    log_format  main  '[$time_local] $proxy_protocol_addr : $proxy_protocol_port $host "$request" '    '$status $body_bytes_sent "$http_referer" '    '"$http_user_agent" "$http_x_forwarded_for"';}
  4. 查看日志,获取客户端源IP。

support.huaweicloud.com/bestpractice-ga/ga_04_0006.html