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

nginx做前端转发,apache做后端如何获取真实IP的配置

时间:2014-12-14 22:18来源:linux.it.net.cn 作者:IT

网站最前端用nginx做proxy转发来转发请求到后端的apache,分析日志时,查看到的ip都是nginx proxy机子的ip,很显然,这对于日志分析造成了一定的困难。所以需要配置一下,让后端的apache获取到用户访问的真实ip。

首先需要修改nginx的配置

# vi /usr/local/nginx/nginx.conf

    proxy_set_header Host $host;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

通过上面的设置可以保证nginx把用户的真实ip转发到后端apache。

然后需要在后端apache配置接受由前端nginx转发过来的真实ip

需要下载一个apache的扩展并安装

# wget -c http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz 

# tar xf mod_rpaf-0.6.tar.gz

# cd mod_rpaf-0.6

# /usr/local/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

配置apache

# vi /usr/local/apache/conf/httpd.conf

LoadModule rpaf_module modules/mod_rpaf-2.0.so

RPAFenable On

RPAFsethostname On

RPAFproxy_ips 192.168.100.111

### 填写Nginx Proxy机子的ip

RPAFheader X-Forwarded-For

然后重新加载nginx和apache服务就可以获取用户访问的真实IP了





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