最近更新时间:2026-05-29 19:02:23
当负载均衡后端服务为裸金属服务器时,可通过在监听器开启ProxyProtocol实现对客户端源IP的获取,支持TCP、UDP和TCPSSL监听器
“开启ProxyProtocol”字段,默认关闭。默认不支持获取客户端源IP
开启后支持获取客户端源IP
此处以CentOS 8.2操作系统、Nginx 1.14.1 版本配置为例介绍。具体请以您实际使用的环境为准。
登录后端服务器,执行nginx -t命令查看配置文件所在路径。默认通常为 /etc/nginx/nginx.conf,具体请以实际环境为准。
修改配置文件中的Proxy Protocol内容并保存,修改点可参考下方说明。
http {
# 确保设置$proxy_protocol_addr,该变量用于记录客户端真实IP
log_format main '$proxy_protocol_addr - $remote_addr- $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# 以80监听端口为例,增加proxy_protocol字段
server {
listen 80 proxy_protocol;
#...
}
}执行sudo nginx -s reload命令,重新加载Nginx配置文件。
当Nginx作为后端服务器时,您可以通过检查Nginx日志来判断是否成功获取到了客户端的真实IP地址。
Nginx日志文件默认路径为:/var/log/nginx/access.log
每行日志中,$proxy_protocol_addr变量对应的IP地址即为客户端真实IP地址。
纯净模式
