当使用varnish做前端缓存的时候,想要让后端nginx获取客户真实ip,其实方法跟nginx做前端让后端nginx获取客户的真实ip是差不多的
1.在varnish的配置文件中添加如下:
在sub vcl_recv { 下添加3行语句
remove req.http.X-real-ip;
set req.http.X-real-ip = client.ip;
set req.http.X-Forwarded-For = client.ip;
2.修改后端nginx配置
vi /etc/nginx/nginx.conf
在http选项配置中添加下面语句:
set_real_ip_from nginx_proxy_ip/24;
set_real_ip_from nginx_proxy_ip;
real_ip_header X-Real-IP;
3.在后端网站中添加php文件
vi i.php
<?php
echo $_SERVER[‘REMOTE_ADDR‘];
然后把i.php放进你网站根目录下.
4.进行验证
在本地电脑上添加前端hosts,在前端添加后端hosts,然后在本地浏览器上进行访问,如果访问http://IP/i.php,可以看到本地电脑的ip就说明配置正确的,如果不行,请检查前端varnish和后端nginx是否重启让配置文件生效了的.
varnish前端让后端nginx获取客户真实ip,布布扣,bubuko.com
varnish前端让后端nginx获取客户真实ip
原文:http://muzinan110.blog.51cto.com/684213/1379668