码迷,mamicode.com
首页 > Web开发 > 详细

nginx http_realip_module 被高级安全防护设备代理后,获取用户端真实IP,并通过真实IP负载均衡转发到后端应用

时间:2020-02-14 11:08:00      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:eal   模块   环境   获取   应用   机房   恢复   from   能力   

场景:

在甲方的环境现场,原有环境是从防火墙映射下来的公网IP到我的nginx负载均衡,nginx到后端多台realserver应用服务器,使用上并未发现异常情况,负载均衡的分发也算正常,nginx采用的ip_hash的算法进行调度。但是机房因为等级保护原因,使用了某厂家的7层防护硬件设备(其实也是一个代理服务),导致我nginx上识别的IP均为代理设备的IP,此时,因为nginx识别客户端IP为硬件防护设备的,导致不再向其他real server应用服务器调度分发,导致单点压力过大,其他主机闲置。

与厂商沟通无法解决该问题,后沟通想从nginx上入手解决,考虑采用http_realip_module模块告诉nginx客户端的真实IP存放在real_ip_header里X-Forwarded-For请求头中,让nginx能识别客户端真实IP,恢复nginx的调度分发能力。

 

nginx的主要配置

set_real_ip_from 硬件防护设备的IP(nginx识别的真实来访iP);
real_ip_header X-Forwarded-For;
real_ip_recursive on;

 

经过测试和上线使用,已经满足业务需求。

nginx http_realip_module 被高级安全防护设备代理后,获取用户端真实IP,并通过真实IP负载均衡转发到后端应用

标签:eal   模块   环境   获取   应用   机房   恢复   from   能力   

原文地址:https://www.cnblogs.com/ddzfeng/p/12306331.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!