前言:在网站架构当中,使用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 install2,在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.
这样我们就在两台服务器上分别安装好了这两个服务。