网站最前端用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) |