使用CloudFlare,Nginx和Varnish获取真实IP地址

1.png
2012年3月6日

CloudFlare是一项出色的服务,可以代理您网站的流量,以提供性能提升和过滤选项。它可以压缩和缓存静态内容(例如CSS文件,JavaScript和图像文件),然后在地理上优化将它们提供给用户的方式(请考虑CDN)。

但是,一个令人烦恼的问题是,由于它是一个代理,您会看到传入的请求来自CloudFlare服务器而不是原始客户端。因此,如果您要在服务器上进行任何很酷的数据分析,那么您的源IP信息就会被占用。

但是,有一种简单的方法可以修复它。

我将Nginx作为我的主要Web服务器运行,而Ubuntu的应用程序版本包括对该http-real-ip模块的支持,该模块允许您在转发的流量中指定一组代理服务器IP和原始IP标头,以便您可以正确映射它。
2.png

因此,使用Nginx,编辑nginx.conf文件并将以下内容添加到您的http部分中:

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/12;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 2400:cb00 :: / 32;
set_real_ip_from 2606:4700 :: / 32;
set_real_ip_from 2803:f800 :: / 32;
set_real_ip_from 2405:b500 :: / 32;
set_real_ip_from 2405:8100 :: / 32;
set_real_ip_from 2c0f:f248 :: / 32;
set_real_ip_from 2a06:98c0 :: / 29;

real_ip_header CF-连接IP;

予人玫瑰,手有余香

还没有人赞赏,快来当第一个赞赏的人吧!

技术教程

iphone全系黑解ICCID公布

2020-12-26 17:03:35

活动线报

奶牛快传注册就送一个月plus会员

2020-12-26 12:55:25

0条回复 | 若显示条数与实际不符,表明部分留言非开放
世界以痛吻我,要我报之以歌