服务器是用的阿里云

SLB也是的。

发现日志全是10.158的地址。

根据建议,需要安装模块--with-http_realip_module

那么我就先停止nginx

然后编译,在编译参数后面添加--with-http_realip_module就可以了。


修改Nginx日志格式

vi nginx.conf


log_format  main  'realip:$http_x_forwarded_for slbip:$remote_addr - $remote_user [$time_local] "$request" '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent"';

启动Nginx

查看日志

tail -f access.log


realip:183.14.164.91 slbip:10.158.18.11 - - [13/Aug/2015:17:44:26 +0800] "GET /touxiang/counterman_367131.jpg HTTP/1.0" 404 618 "-" "-"


另外一台服务器,虽然没有安装那个模块,但是修改日志格式之后,还是可以获取后端真实IP的。

日志后来我对比了一下,安装了模块的,获取率要高于没有安装模块的。