负载均衡服务通过以下方式获取来访的真实 IP 地址:

4 层负载均衡(TCP协议)服务可以直接在后端 ECS 上获取来访者真实 IP 地址,无需进行额外的配置。 7 层负载均衡(HTTP协议)服务需要对应用服务器进行配置,然后使用 X-Forwarded-For 的方式获取访问者真实 IP。

一般php程序通过 $_SERVER['remote_addr'] 获取客户端的ip地址;

在 nginx + fpm 环境下需要改动nginx的fastcgi_params配置如下:

set $clentip 0; 
if ($remote_addr ~ "100.*" ){  # 只有在开启 SLB 时这个变量才能使用;
	set $clentip "$http_x_forwarded_for"; 
}
			
if ( $clentip = 0 ){
	set $clentip "$remote_addr";  
}
fastcgi_param  REMOTE_ADDR $clentip;
#fastcgi_param  REMOTE_ADDR        $remote_addr;   #注释掉

100.**** 是 slb 内网ip地址段;