Nginx在使用varnish作缓存情况下获取用户真实ip

前言:在网站架构当中,使用varnish缓存服务器为网站做缓存,后端再使用lnmp架构已经是很平常的事情了,但是,在很多种情况下,后端的nginx服务器,无法获取到用户的真实ip.日志中总是记录着前端的varnish服务器ip。这也让一些站长很烦恼。其实nginx有这种功能的。下面我就来讲解一下,如何让nginx在使用varnish做缓存的情况下获取到用户的真实ip。

我们先弄两台测试机器

A:192.168.1.151 服务: varnishd B:192.168.1.150 服务:  nginx 

一,我们先安装好这两个服务。

1..在A服务器上安装varnishd

# yum install pcre* # wget   # tar -xvf varnishd-3.0.0.tar.gz # cd varnish-3.0.0 # ./configure --prefix=/usr/local/varnishd # make&&make install   

2,在B服务器上安装nginx

# yum install pcre* # wget   # cd nginx-1.0.10/ # ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_realip_module # make && make install 

这里在nginx安装时,添加了一个 --with-http_realip_module 的模块来获取真实ip.

这样我们就在两台服务器上分别安装好了这两个服务。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/c5c72636078c52ff53dbdd4f745dc595.html