全球加速 GA-GA获取客户端源IP:通过Proxy Protocol协议获取客户端源IP
通过Proxy Protocol协议获取客户端源IP
本节以终端节点类型为EIP,后端服务使用Nginx为例,介绍如何开启Proxy Protocol功能,并查看已获取的客户端源IP。
- 提交工单,开启Proxy Protocol功能。
- 在后端服务器上开启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。 #... }}
- 获取客户端源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"';}
- 查看日志,获取客户端源IP。