ha-proxy
服务器做过负载均衡,客户端的数据是从A服务器转发到B服务器,在B服务器用ngx.var.remote_addr获取的是A服务器IP,而不是客户端IP。想获取客户端ip有没有其他办法?
#负载均衡服务器添加
location /action{
#proxy_redirect off;
#保存用户真实信息
proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://adunion_manager;
}
在nginx的配置文件中,有诸如下面的日志配置:
log_format main ‘$remote_addr – [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer”‘
‘”$http_user_agent” $http_X_Forwarded_For’;
只要将$http_X_Cluster_Client_Ip放在$remote_addr的位置即可。
log_format main ‘$remote_addr – [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer”‘
‘”$http_user_agent” $http_X_Forwarded_For’;
只要将$http_X_Cluster_Client_Ip放在$remote_addr的位置即可。