1. 可以通过修改 nginx proxy 的参数令后端应用获取到 Nginx 发来的请求报文获取到外网的IP.
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 日志上所获取的ip依然还是本地.

2. 需要配合apache的一个第三方模块"mod_rpaf"了, 官方网站: http://stderr.net/apache/rpaf/

安装方法:
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar zxvf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/opt/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

3. 安装完成后在httpd.conf添加如下:
LoadModule rpaf_module modules/mod_rpaf-2.0.so 
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 192.168.1.90 #Nginx所在服务器的IP.
RPAFheader X-Forwarded-For

重启apache, 再看apache的访客日志就是真实的用户ip了.