您的位置:首页 > 运维架构 > Nginx

nginx做反向负载均衡,后端服务器获取真实客户端ip

2014-05-16 17:59 656 查看
开门见山,操作如下:
首先,在前端nginx上需要做如下配置:
location /
{

proxy_pass http://test1; proxy_set_hearder host $host;

proxy_set_header X-Real_IP $remoute_addr;

proxy_set_header $proxy_add_x_forwarded_for;
};

nginx会在把请求转向后台real-server前把http报头中的ip地址进行替换;这样操作完成后,real-server也需要做一些操作;
1、后台real-server为nginx的,需要nginx支持http_realip_module,在编译时需要添加--with-http_realip_module,然后配置文件中添加以下几行,其中set_real_ip_from可以多行,具体详解后面补充
set_real_ip_from 192.168.10.0/24;
real_ip_header X-Real-IP;

2、后台real-server为apache的,需要mod_rpaf-0.6.tar.gz这个模块,下载后
tar zxvf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/usr/local/www/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
在 httpd.conf中添加
LoadModule rpaf_module libexec/apache2/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 192.168.1.1 #这个是前段的IP,可不是后端的IP哦
RPAFheader X-Forwarded-For
重启服务后,即可生效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: