cdn 之 cloudflare 对网站程序的影响

当网站使用Cloudflare作为缓存服务器时,请求路径变为浏览器->Cloudflare->真实网站,导致PHP程序中通过REMOTE_ADDR获取的来访者IP变为Cloudflare服务器IP。这会影响基于REMOTE_ADDR的业务处理和Web统计程序如Webalizer、Analog、Awstats。为解决此问题,可以使用HTTP_CF_CONNECTING_IP来获取真实IP。
摘要由CSDN通过智能技术生成
使用 cloudflare 后,在站上放 1.php 执行 print_r($_SERVER); 可以看到 cloudflare 产生的影响

[HTTP_CF_CONNECTING_IP] => 真实IP
[HTTP_CF_IPCOUNTRY] => US
[HTTP_CF_VISITOR] => {"scheme":"http"}
[HTTP_X_FORWARDED_FOR] => 真实IP
[REMOTE_ADDR] => 108.162.226.237(cloudflare用于缓存的服务器IP)

可以看到,浏览器打开域名,解析到 cloudflare 的缓存服务器IP,缓存服务器再向真实网站发出请求,所以在网站上的php程序看到 来访者IP REMOTE_ADDR 是108.162.226.237。

请求:浏览器  ==> 缓存服务器 ==> 真实网站

下载:浏览器  <== 缓存服务器 <== 真实网站

缓存服务器 得到了本次 GET/POST 请求的结果htm源码,分析网页元素,如果网页里用到的静态文件在缓存服务器上,就直接让浏览器下载,如果不在缓存里,缓存服务器就向真实网站下载该文件,进行缓存,然后让浏览器下载。


造成的影响:如果网站程序里使用 REMOTE_ADDR 来取得来访者IP,进行一些业务方面的处理,那么使用cloudflare就会造成不准确了。

统计程序 Webalizer Analog Awstats 会受此影响。特别是 PPC站

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值