欢迎来到博达网站群学习网!
设为首页 | 加入收藏
当前位置: 首页 >> 知识库 >> 部署类 >> 功能异常 >> 正文

前端nginx负载均衡后端apache无法获取真实IP

发布时间:2016-08-03    浏览次数:

现象:

由于在网站群后台反向代理配置项加入了前端nginx负载均衡服务器的IP地址,

还是无法获取到客户端真实IP地址。

且发布服务器获取到的IP均为前端nginx负载均衡的IP

原因:

前端nginx后端Apache需要获取客户端真实IP需要采用mod_rpaf模块

解决办法:

1.在发布机上安装mod_rpaf

解压开以后进入文件夹执行:/opt/vsb9mfp/apache/bin/apxs–i–c–n mod_rpaf-2.0.c

等待安装完毕之后httpd.conf会自动加载一下模块

2.修改发布机httpd.conf在文件最后面添加以下行

RPAFenable On

RPAFsethostname On

RPAFproxy_ips 192.168.3.129 //代理服务器的IP

RPAFheader X-Forwarded-For

修改完之后重新启动apache服务

3.修改前端负载均衡ngin.conf配置文件

在现有的虚拟主机里加入以下参数。

修改完之后重新启动nginx服务

为了方便后期维护,需修改nginx-host.tlp文件

新增以下行

这样就会每次在添加新站点时 自动吧参数加入的虚拟主机里面。

可以成功获取到客户端IP地址了