nginx通过ip-hash算法负载不均问题

来源:互联网 发布:数据建模工具 编辑:程序博客网 时间:2024/04/29 03:31
在搭建系统时遇到了前端请求固定分发到一台remote_addr。经过查看nginx的acc日志发现



remote_addr为具体的某个ip,nginx中配置的是ip-hash算法来负载。初步断定是由于remote_addr为固定ip原因造成,经过查前端F5发现做了nat转换。

对应nginx不是未最前端时,如果前端做了代理,造成remote_addr为固定ip时可以采用下列方式解决。

1、首先要在代理服务器上开启_x_forwarded_for,将用户真实ip插入到http_x_forwarded_for中。

2、在nginx中配置map映射获取真实ip。map写在http模块中

map $http_x_forwarded_for  $clientRealIp {


       ""      $remote_addr;


       ~^(?P<firstAddr>[0-9\.]+),?.*$  $firstAddr;


    }

3、upstream中的ip-hash改成hash  $clientRealIp;











0 0
原创粉丝点击