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

nginx转发apache显示真实IP

2013-01-17 18:02 435 查看
来源:http://blog.chinaunix.net/uid-23766031-id-3190183.html

 

在http中加入:

        proxy_pass  http://$host:81;
        proxy_set_header   Host             $host;

        proxy_set_header   X-Real-IP        $remote_addr;

        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

如果需要在访问日志中显示IP,则还需要加入下面的操作:

2.下载apache的第三方模块 mod_rpaf

下载地址:http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz

安装mod_rpaf

tar zxf mod_rpaf-0.6.tar.gz

cd mod_rpaf-0.6

/usr/local/webserver/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c    #apache 2.x 安装方法(1.x的有全区别)

安装完毕,开始配置apache的http.conf配置文件,添加一下内容:

LoadModule rpaf_module modules/mod_rpaf-2.0.so

RPAFenable On

RPAFsethostname On

RPAFproxy_ips 192.168.1.253 127.0.0.1 #填写你nginx web 转发的ip地址

RPAFheader X-Forwarded-For

在php代码中获取IP的方法:

echo "IP=".$_SERVER['HTTP_X_FORWARDED_FOR'];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apache nginx