当前位置: > Linux服务器 > nginx >

Nginx代理Apache显示真实IP

时间:2014-12-11 00:40来源:linux.it.net.cn 作者:IT
Nginx反向代理Apache的情况下让Apache获得真实IP
 
需要使用mod_rpaf模块
 
1.下载mod_rpaf-stable
https://github.com/gnif/mod_rpaf
 
 
2.安装模块
 
it@AX201:/down/mod_rpaf-stable$ sudo /home/app/apache/bin/apxs -i -c -n mod_rpaf.so mod_rpaf.c
 
 
3.查看已添加的模块
 
it@AX201:/fs/tmp/mod_rpaf-stable$ ls /home/app/apache/modules/mod_rpaf.so
 
 
4.配置文件中引入模块与配置使用
 
it@AX201:~$ sudo vim /home/app/apache/conf/httpd.conf
 
 
LoadModule rpaf_module modules/mod_rpaf.so
RPAF_Enable             On
RPAF_ProxyIPs           127.0.0.1 192.168.0.18 #前端代理服务器
RPAF_SetHostName        On
RPAF_SetHTTPS           On
RPAF_SetPort            On
RPAF_ForbidIfNotProxy   Off
 
 
5.重启服务
 
it@AX201:~$ sudo /etc/init.d/httpd restart
 
 
6.查看日志,是否已经代理前的真实客户访问IP
 
it@AX201:~$ sudo tail -n 10 /home/app/apache/logs/access_log
#可以修改下访问日志查看更详细的IP访问情况
 
 
it@AX201:~$ sudo vim /home/app/apache/conf/httpd.conf
 
 
<IfModule log_config_module> #在这个里面更改
    ...
    ...
    #LogFormat "%h %l %u %t \"%r\" %>s %b" common #先注释
    LogFormat "%a %A %h %l %m %u %U %t \"%r\" %>s %b" common #加这个
    ...
    ...
</IfModule>
7.前端Nginx的配置
 
1
it@ubuntu-T2:~$ sudo vim /home/app/nginx/nginx-1.6.2/conf/nginx.conf
 
 
server {
                listen       80;
                server_name  www.it.net.cn ;
                charset utf-8 ;
 
                location / {                 
                        proxy_pass http://192.168.0.61:80;
                        proxy_set_header        Host $host;
                        proxy_set_header        X-Real-IP $remote_addr;
                        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for; #这条是主要的
                }
}


apache_nginx
 

 

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容