nginx做过负载均衡后获取真实客户端ip

Posted by

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的位置即可。

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据